JavaScript で文字列から変数を選択する方法を知っている人はいますか? これが私が基本的に達成しようとしていることです:
var myLang = "ESP";
var myText_ESP = "Hola a todos!";
var myText_ENG = "Hello everybody!";
console.log(myText_ + myLang); // This should trace "Hola a todos!"
ありがとう!
JavaScript で文字列から変数を選択する方法を知っている人はいますか? これが私が基本的に達成しようとしていることです:
var myLang = "ESP";
var myText_ESP = "Hola a todos!";
var myText_ENG = "Hello everybody!";
console.log(myText_ + myLang); // This should trace "Hola a todos!"
ありがとう!
var hellos = {
ESP: 'Hola a todos!',
ENG: 'Hello everybody!'
};
var myLang = 'ESP';
console.log(hellos[myLang]);
すべてをグローバルスコープに入れてから、ウィンドウのプロパティにアクセスする文字列は好きではありません。だからここにそれを行う別の方法があります。
変数がグローバル コンテキストで定義されている場合は、次のようにすることができます。
console.log(window['myText_' + myLang]);
そのために使用できますeval
が、これは非常に悪い習慣です:
console.log(eval("myText_" + myLang);
代わりにオブジェクトを用意することをお勧めします:
var myLang = "ESP";
var texts = {
'ESP': "Hola a todos!",
'ENG': "Hello everyboy!"
};
console.log( texts[ myLang ] );
var myLang = "ESP";
var myText = {
ESP : "Hola a todos!",
ENG : "Hello everybody!"
}
console.log(myText[myLang]); // This should trace "Hola a todos!"
良い練習ではありませんが、eval()
関数を使ってみてください。
var myLang = "ESP";
var myText_ESP = "Hola a todos!";
var myText_ENG = "Hello everyboy!";
console.log(eval('myText_' + myLang));