É possível criar operadores personalizados em JavaScript?
Durante as aulas de matemática, aprendemos a definir novos operadores. Por exemplo:
(ℝ, ∘), x ∘ y = x + 2y
Isso define∘
lei. Para números reaisx ey, x y éx + 2y.
Exemplo:2 ∘ 2 = 2 + 4 = 6
.
É possível definir operadores como este em JavaScript? Eu sei que uma função faria o trabalho:
function foo (x, y) { return x + 2 * y; }
mas gostaria de ter a seguinte sintaxe:
var y = 2 ∘ 2; // returns 6
em vez disso:
var y = foo(2, 2);
Qual é a solução mais próxima dessa pergunta?