1. ホーム
  2. javascript

[解決済み] 可変演算子は可能か?

2023-01-17 11:29:48

質問

以下のどちらかに似たようなことをする方法はありますか?

var1 = 10; var2 = 20;
var operator = "<";
console.log(var1 operator var2); // returns true

-- OR --

var1 = 10; var2 = 20;
var operator = "+";
total = var1 operator var2; // total === 30

どのように解決するのですか?

箱から出してはいけません。しかし、JSを含む多くの言語で手作業で簡単に構築することができます。

var operators = {
    '+': function(a, b) { return a + b },
    '<': function(a, b) { return a < b },
     // ...
};

var op = '+';
alert(operators[op](10, 20));

のようなアスキーベースの名前を使用することができます。 plus のように、アスキーベースの名前を使うことができます。しかし、これと似たような質問の半分は、誰かが演算子を表す文字列を持っていて、そこから関数を求めていたために質問されました。