28

问题的答案是否可以在 JavaScript 中创建自定义运算符?没有,但@Benjamin 建议可以使用第三方工具添加新的操作员:

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

我将举同样的例子,就像在上一个问题中一样:

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

对于任意两个实数xyx ∘ yx + 2y也是一个实数。如何在我的扩展 JavaScript 语言中添加此运算符?

之后将运行以下代码:

var x = 2
  , y = 3
  , z = x ∘ y;

console.log(z);

输出将包含

8

(因为82 + 2 * 3


我将如何扩展 JavaScript 语言以支持新的运算符?

4

2 回答 2

54
于 2013-12-24T16:42:36.677 回答
3

正如我在您问题的评论中所说,sweet.js还不支持中缀运算符。你可以自由地 fork sweet.js 并自己添加它,或者你只是 SOL。

老实说,实现自定义中缀运算符还不值得。Sweet.js 是一个得到很好支持的工具,它是我所知道的唯一一个尝试在 JS 中实现宏的工具。使用自定义预处理器添加自定义中缀运算符可能不值得您获得。

也就是说,如果你是为了非专业工作而独自从事这个工作,那么做任何你想做的事......

编辑

sweet.js 现在确实支持中缀运算符

于 2013-12-24T14:28:27.747 回答