普段何気なく使っている、[]
と.
。
個人的には ラクだしなんかカッコいい という理由で.
しか使っていないが、
[]
が活躍するシーンがあったのでメモ。
[]の使いドコロ
文字列からプロパティを指定したいとき
以下に例。
var hoge = { hoge1:'Yes!' }; //オブジェクト作成
var p = 'hoge1';
hoge[p]; //'Yes'
hoge.p; //undefined
これを見ると、
hoge[p]の場合は、pに格納された文字列'hoge1'はhogeのプロパティとして機能するが、
hoge.pの場合は機能しない。
hoge.pの場合は、hogeオブジェクトの「p」というプロパティ名を指定することになってしまいます。
このように、
文字列を利用してプロパティの指定をしたいときは[]
を使わなければなりません。
動的に変数に文字列が格納されて、それをプロパティ名として用いたい時
などに使用する。