gpt4 book ai didi

javascript - 在 node.js C++ 插件中实现 JS 算术运算符

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:54:53 25 4
gpt4 key购买 nike

是否可以在 node.js C++ 插件中实现算术运算符?

所以如果 myclass 是一个从 C++ 类包装的 JS 对象,我可以在包装的 C++ 函数的类中实现 javascript“+”运算符,以便下面的代码可以工作吗?

var a = new myclass();
var b = new myclass();
var c = a + b;

它将允许更优雅地处理适当对象的算术运算(例如,如果 myclass 表示 vector 或矩阵类)。目前,唯一的解决方案是声明一个普通函数来处理运算符,例如:

var c=a.add(b); 

但这并不好。我希望有 v8 内部知识的人可以回答这个问题。

最佳答案

不幸的是,+ 运算符的行为没有公开修改。

定义 JavaScript 的 ECMA-262 规范将 + 运算符定义为添加两个数字或连接两个字符串。为此,实现调用对象上的 .toString() 和/或 .valueOf(),然后执行串联或加法。运算符本身的任何内容都不会暴露给实现 C++ 代码。 C++ 代码只能影响处理返回的字符串/值。

关于javascript - 在 node.js C++ 插件中实现 JS 算术运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21289069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com