【JavaScript】変数名を文字列にする方法
更新日:2024/03/13
JavaScriptで変数名を文字列にしたいことがあります。
コーテーションで囲めばいいだけですが、数が多くなると少し面倒ですね。
そこで今回は、アルゴリズムで変数を文字列化する方法を紹介します。
意外と知られていないプロパティ定義
オブジェクトのプロパティ定義は、プロパティ名と値で行います。
変数名と同じプロパティを定義するときは、次のようになります。
const value = 100;
const obj = { value:value };
console.log( obj ); // { value: 100 }
実は、次のように記述できます。
const value = 100;
const obj = { value };
console.log( obj ); // { value: 100 }
これを使うと、変数名を文字列に変換できます。
変数名を文字列にする方法
ようするに前項の方法でオブジェクト化して、Object.keys()でプロパティ名を取得するだけです。
const getVariableName = name => Object.keys( name )[0];
const value1 =1, value2 =2, value3 = 3;
console.log( getVariableName( {value1} ) ); // value1
console.log( getVariableName( {value2} ) ); // value2
console.log( getVariableName( {value3} ) ); // value3
できれば関数内でオブジェクト化したかったけれど、関数内では名前が変わるのでできませんでした。
更新日:2024/03/13
関連記事
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。