LoginSignup
6
6

More than 5 years have passed since last update.

オブジェクトのプロパティを指定する[]と.の違い

Posted at

普段何気なく使っている、[].
個人的には ラクだしなんかカッコいい という理由で.しか使っていないが、
[]が活躍するシーンがあったのでメモ。

[]の使いドコロ

文字列からプロパティを指定したいとき

以下に例。

var hoge = { hoge1:'Yes!' }; //オブジェクト作成
var p = 'hoge1';
hoge[p]; //'Yes'
hoge.p; //undefined

これを見ると、
hoge[p]の場合は、pに格納された文字列'hoge1'はhogeのプロパティとして機能するが、
hoge.pの場合は機能しない。
hoge.pの場合は、hogeオブジェクトの「p」というプロパティ名を指定することになってしまいます。

このように、
文字列を利用してプロパティの指定をしたいときは[]
を使わなければなりません。
動的に変数に文字列が格納されて、それをプロパティ名として用いたい時
などに使用する。

6
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6