結論
ブラケット記法はキー指定に式を受け付けるけど、ドット記法はキー指定に式を受け付けない。
詳細
【世界で2万人が受講】JavaScriptエンジニアのためのES6完全ガイドの「応用問題:findWhere関数を作ってみよう」って演習を解いている途中、少し躓いたので、そこで学んだことの共有です。
リンク先の講座を今後受講する際にはネタバレですので、一応ご注意ください。
動かなかったコード
function findWhere(array, criteria) {
var key = Object.keys(criteria)[0];
return array.find(
(element) =>
{return element.key === criteria.key}
)
}
動いたコード
function findWhere(array, criteria) {
var key = Object.keys(criteria)[0];
return array.find(
(element) =>
{return element[key] === criteria[key]}
)
}
理由
結論と重複しますがブラケット記法はキー指定に式を受け付けるけど、ドット記法はキー指定に式を受け付けないから。
参考
お礼
お読みいただきありがとうございました。本記事であなたの躓きがなくなったり、コードが良くなることを祈っております。