问题的答案是否可以在JavaScript中创建自定义运算符?还没有,但@Benjamin建议可以使用第三方工具添加新的运算符:
虽然需要额外的编译步骤,但可以使用像sweet.js这样的第三方工具来添加自定义运算符.
我会采用相同的例子,就像上一个问题一样:
对于任何两个实数x和y:x∘y是x + 2y,也是实数.如何在我的扩展JavaScript语言中添加此运算符?
运行以下代码后:
var x = 2
, y = 3
, z = x ? y;
console.log(z);
Run Code Online (Sandbox Code Playgroud)
输出将包含
8
Run Code Online (Sandbox Code Playgroud)
(因为8是2 + 2 * 3)
我如何扩展JavaScript语言以支持新的运算符?
我有一个对象,我想拦截in对该对象的操作者访问。
例如
myObject.operatorIn = ()=>throw new Error("You can't touch it :)")
Run Code Online (Sandbox Code Playgroud)