JavaScript でカスタム演算子を作成することは可能ですか? 質問する

JavaScript でカスタム演算子を作成することは可能ですか? 質問する

数学の授業では、新しい演算子を定義する方法を学びました。たとえば、次のようになります。

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

これは法則を定義する。任意の実数に対してバツそしてええx ∘ 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);

この質問に最も近い解決策はどれでしょうか?

ベストアンサー1

簡単に答えると、いいえです。ECMAScript (JS のベースとなる標準) は演算子のオーバーロードをサポートしていません。

余談ですが、ECMAScript 7では、カスタム設計時に標準演算子のサブセットをオーバーロードできるようになります。 値型 。 がここにあります 言語作成者であり Mozilla CTO の Brendan Eich によるスライド デッキ 主題について。ただし、これにより任意の演算子は許可されず、オーバーロードされた意味は値型にのみ適用されます。 <- 笑、結局それは起こりませんでした。

サードパーティのツールを使用することもできます。甘い.jsただし、カスタム演算子を追加するには、追加のコンパイル手順が必要になります。

私はJavaScript 外部からのソリューションで回答エスプリマを使う - これは変化JavaScript とそれを拡張したもので、ネイティブではありません。

おすすめ記事