gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 23:23:38 28 4
gpt4 key购买 nike

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

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

这定义了法则。对于任何实数 xyx ∘ yx + 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);

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

最佳答案

简短的回答是否定的。 ECMAScript(标准 JS 所基于的)不支持运算符重载。

顺便说一句,在 ECMAScript 7 中,您将能够在设计自定义值类型时重载标准运算符的子集。值类型。这是slide deck by language creator and Mozilla CTO Brendan Eich关于这个主题。然而,这不允许任意运算符,并且重载的含义将仅应用于值类型。 <-哈哈,这最终没有发生。

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

我已经answered with a solution from outside JavaScript使用 esprima - 这是改变 JavaScript 并扩展它,它不是原生的。

关于javascript - 是否可以在 JavaScript 中创建自定义运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20728460/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com