繁体   English   中英

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

[英]Implementing JS arithmetic operators in node.js C++ addon

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

因此,如果myclass是从c ++类包装的JS对象,是否可以在包装的C ++函数的类中实现javascript“ +”运算符,以便以下代码可以工作?

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

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

var c=a.add(b); 

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

不幸的是, +运算符的行为并未公开进行修改。

定义JavaScript的ECMA-262规范将+运算符定义为相加两个数字或连接两个字符串。 为此,实现在对象上调用.toString()和/或.valueOf() ,然后执行串联或加法。 运算符本身从未暴露于实现C ++代码。 C ++代码只能影响返回的字符串/值以进行处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM