簡體   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