取得した値を元に、動的に変わる変数をtypeofで存在チェックをしているのですが、is not defined とエラー出力されてしまいます。
なにが間違っているのでしょうか?宜しくお願いします。
エラー内容
// ReferenceError: text5 is not defined
JavaScript
1var text1 = 'hoge1', 2 text2 = 'hoge2', 3 text3 = 'hoge3'; 4 5var getNum = 5; 6var setText = 'text' + getNum; 7 8if(typeof eval(setText) !== 'undefined'){ 9 console.log(eval(setText)); 10} else { 11 console.log('なし'); 12}
エラーは要約したり省略したりせずにそのままコピペしてください。
ご回答ありがとうございます。エラー内容は text5 is not defined になります。
質問は編集できるので、この「質問への追記、修正の依頼」があったときには質問本文に追記して返してください。
ちなみにこれeval()いれる意味ないですよね。typeof setText だけで同じ結果(今回の場合、getNumに1~3を入れるとhoge1~3が表示される)
getNumで取得される値が必ずしも1~3ではないので、例えば5の値を取得した時、存在しない変数なら処理をしたいと思ったわけです。 eval()を入れないと式が評価されず、変数の確認が出来ないです。
回答4件
あなたの回答
tips
プレビュー