【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

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。