カスタマイズ始めたての頃に気になって調べたことを備忘録として載せておきます!
フィールドコードを記述する時 .
or []
どちらが正しい?
皆さん一度は疑問に思ったことあるのではないでしょうか?
- ブラケット記法
record.['フィールドコード'].value
- ドット記法
record.フィールドコード.value
どちらで書けばいいんだろう…と
cybozu developer network には使い分けに関しての記事は見当たらなかったので、調べてまとめてみました。
結論:どちらでも良い
基本的にはどちらも動作に違いはありませんが、キーを変数で指定したい場合はブラケット記法でしか動作しません。
次の例では、ドット記法はundefined
になってしまいます。
const object = {
name: 'John', // nameがキーでJohnがバリュー(まとめてプロパティと呼ぶ)
age: 30,
hobbies: ['reading', 'cooking']
};
const key = 'name'; // アクセスするキーを変数に格納
console.log(object.key); // output: undefined
console.log(object[key]); // output: 'John'
オススメは?
個人的にオススメはドット記法です。
メリットとしては
- ドット記法の方が楽に書ける
- ミスも少ない
かな?と思っています。
ただ、cybozu developer network のサンプルコードでは、ブラケット記法で書かれています。
(例:イベントオブジェクトで実行できる操作 - cybozu developer network)
こちらのメリットとしては、
- フィールドコードであると認識しやすい
(アプリのフィールドコードを変えた時にコードを編集しやすい) - キーを変数で指定したい場合でも動作する
が考えられます。
好みによって変わりそうですね!
おわりに
私はドット記法派ですが、皆さんはどちら派ですか?
良ければ、コメントでどちら派か教えてくださると嬉しいです…!
(他にもメリットや使い分け等の補足があれば教えてください!)