Javascript 在node.JS C++;插件 是否可以在NoDE.JS C++ ADON中实现算术运算符?

Javascript 在node.JS C++;插件 是否可以在NoDE.JS C++ ADON中实现算术运算符?,javascript,c++,node.js,Javascript,C++,Node.js,P> >如果 MyCys是一个从C++类包装的JS对象,我能在包裹的C++函数的类中实现JavaScript“+”操作符,以便下面的代码可以工作吗? var a = new myclass(); var b = new myclass(); var c = a + b; 它将允许在适当的对象上更优雅地处理算术运算(例如,如果myclass表示向量或矩阵类)。目前,唯一的解决方案是声明一个普通函数来处理运算符,如: var c=a.add(b); 但这并不好。我希望了解v8内部结构的人能够回

<> P> >如果<代码> MyCys<代码>是一个从C++类包装的JS对象,我能在包裹的C++函数的类中实现JavaScript“+”操作符,以便下面的代码可以工作吗?
var a = new myclass();
var b = new myclass();
var c = a + b;
它将允许在适当的对象上更优雅地处理算术运算(例如,如果myclass表示向量或矩阵类)。目前,唯一的解决方案是声明一个普通函数来处理运算符,如:

var c=a.add(b); 

但这并不好。我希望了解v8内部结构的人能够回答这个问题。

不幸的是,
+
操作符的行为没有公开以供修改


ECMA-262规范定义JavaScript将
+
操作符定义为添加两个数字或连接两个字符串。为此,实现在对象上调用
.toString()
和/或
.valueOf()
,然后执行连接或添加。操作符本身从来没有接触到实现C++代码。C++代码只能影响返回的字符串/值。我不完全确定我是否理解。你可能会问“我可以为<代码> MyCase<代码>两个对象定义<代码> +/COD>”,答案是肯定的,C++支持操作符重载。然而,操作符重载并不是什么神奇的事情。神奇之处在于按类型重载方法,这将非常有用。遗憾的是,我也怀疑这是否可能。谢谢你的回答。当然,我并不是在C++中讲述操作符重载,而是在C++的Adon类中实现JavaScript +操作符。这个问题是有意义的,因为我试图实现一些矩阵类C++边,并有相应的JavaScript对象以自然的方式运行。因为我看不到更好的方法,所以我将只实现函数.add(object),.substract(object)等等。不,这是不可能的。(也请不要这样做。JavaScript的一半乐趣在于合理的期望!)如前所述,这是不可能的。这样的更改必须在Javascript引擎内部进行。