一尘不染

是否可以在JavaScript中创建自定义运算符?

javascript

在数学课上,我们学习了如何定义新的运算符。例如:

(ℝ, ∘), x ∘ y = x + 2y

这定义了法律。对于x和y的任何实数,x y是x + 2y。

范例:2 ∘ 2 = 2 + 4 = 6

可以在JavaScript中定义这样的运算符吗?我知道函数可以胜任:

function foo (x, y) { return x + 2 * y; }

但我想使用以下语法:

var y = 2 ∘ 2; // returns 6

代替这个:

var y = foo(2, 2);

哪个是最接近这个问题的解决方案?


阅读 987

收藏
2020-07-10

共1个答案

一尘不染

最简洁的答案是不。ECMAScript(标准JS所基于的)不支持运算符重载。

可以使用sweet.js之类的第三方工具来添加自定义运算符,尽管这需要额外的编译步骤。

2020-07-10