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

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

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

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

这将允许在适当的对象上进行更优雅的算术运算处理(例如,如果myclass表示向量或matrix类)。 现在,唯一的解决scheme是声明一个正常的函数来处理操作符,如:

 var c=a.add(b); 

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

不幸的是, +运营商的行为不公开的修改。

定义JavaScript的ECMA-262规范将+运算符定义为添加两个数字,或者连接两个string。 为此,实现在对象上调用.toString()和/或.valueOf() ,然后执行连接或添加。 运营商本身并没有涉及到实现C ++代码。 C ++代码只能影响返回处理的string/值。