ドット記法とブラケット記法について
言語は、JavaScriptです。
オブジェクトにプロパティを設定、取得する方法は二つあるみたいです。
それがタイトルの
ドット記法 と ブラケット記法
ドット記法
通常こちらを使用する方が多いと思います。
ドット記法で、オブジェクトのプロパティを設定する例。
var obj = new Object(); //ドット記法でプロパティを設定 obj.hoge = "hoge"; //ドット記法でプロパティを取得 console.log(obj.hoge);
文字どおり、.(ドット)を使って
プロパティを操作しています。
たいがいは、ドット記法を使用すると思います。
ブラケット記法
ブラケット | [ ]を意味します。 |
---|
こちらは、連想配列のような感じで記述します。
var obj = new Object(); //ブラケット記法でプロパティを設定 obj['fuga'] = "fuga"; //ブラケット記法でプロパティを取得 console.log(obj['fuga']);
こちらも文字どおり、 [](ブラケット)を使って
プロパティを操作しています。
上記二つのサンプルソース。
Edit fiddle - JSFiddle
違いは?
ドット記法
- 分かりやすい、記述の容易。
ブラケット記法
- プロパティ名に文字列変数を使うことが出来る。
var obj = new Object(); obj['hoge'] = "hogeマンだー!"; // プロパティ名の文字列 var string = "hoge"; // ブプロパティ名に変数を使ってログ出力。 console.log(obj[string]); // ドット記法では、プロパティ名に変数を使うことは出来ない。 var test = 'obj.' + string; console.log(test);
- 不正なプロパティ名でもアクセスすることが出来る。
var obj = new Object(); // 数値から始まる不正なプロパティ名 obj['123'] = 123; // JavaScriptの予約語であるclassを使う不正なプロパティ名 obj['class'] = "class"; console.log(obj['123']); console.log(obj['class']); /* ドット記法では、不正なプロパティにアクセスするとエラーになる。 obj.123 = 123; obj.class = "class"; console.log(obj.123); console.log(obj.class); */
Edit fiddle - JSFiddle
ドット記法とブラケット記法のまとめ。
プロパティ名に変数を使える | 不正なプロパティ名が使える | |
---|---|---|
ドット記法 | × |
× |
ブラケット記法 | ○ |
○ |
参考
開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質
- 作者: Cody Lindley,和田祐一郎
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/06/19
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
何か間違いがありましたら、コメントで教えてくれるとうれしいです^ー^