varName
「myvar」の内容を持つ変数があります。variable
の名前と の内容を持つ変数を作成したいvarName
ので、名前は になりますvariablemyVar
。
どうすればいいですか?
varName
「myvar」の内容を持つ変数があります。variable
の名前と の内容を持つ変数を作成したいvarName
ので、名前は になりますvariablemyVar
。
どうすればいいですか?
できるよ
window["variable" + varName] = 42;
console.log(variablemyvar); // 42
これにより、変数がグローバルになります。の代わりにwindow
、任意のスコープ (オブジェクト) を使用できます。
var myObject = {
someOtherVariable: 1337
};
myObject["variable" + varName] = 42;
console.log(myObject.variablemyvar); // 42
ただし、可能な限り、これを完全に行うことは避けてください。その理由は、このようなコードは簡単に壊れてしまうからです。後で変数の名前を変更したいとします。ほとんどの場合、IDE でさえ、これを見落とします。もう 1 つの理由は、コード縮小機能がこれを縮小できないことです。それらを「アグレッシブ」に設定すると、縮小中にコードが壊れることさえあります。
最後に、特に を使用した最初の例を使用するとwindow
、グローバル変数は悪い習慣と見なされ、どのように宣言しても、常に避ける必要があります。