NTR893
@NTR893 (おいなり)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Javascript 変数名の代入

1. やりたい・やりたかったこと

こんな感じで、varの後の名前を、もともとあった変数名を使って変数を定義したいです。下の例では、var aを使って、3行目の変数名を、もともと定義していた変数名のtestに加えて、変数aの中身である1を追加して、test1という名前にしたいです。

var a = 1;

var test(ここの変数名を、test1にする)= '変数aの値を合わせた名前';

もともとあった変数の値を、変数名を定義するときに代入するには、どうしたらいいのか教えていただきたく、質問いたしました。

0

1Answer

evalを使ってできなくもないですが、セキュリティ的脆弱性になりやすいのでやめた方がいいです。
変数の内容をオブジェクトにするといいですよ。
それよりも、なぜ変数にしなければいけないのか、考え直した方がいいです。

var a = 1;

eval(`var test${a} = "test${a}"`);
console.log(test1);

let vars = {[`test${a}`]: `test${a}`};
console.log(vars);
console.log(vars.test1);

実行結果
test1
{ test1: 'test1' }
test1
2Like

Comments

  1. @NTR893

    Questioner

    わかりました!
    ありがとうございます。

Your answer might help someone💌