次の2つのブロック間に機能的または性能的な違いはありますか?マップインデックスまたはドット表記とのバインディングの相違
<foo ng-if="bar['qux']">
<foo ng-if="bar.qux">
bar.qux
が最初に定義されていないと、違いがありますか?
注:オブジェクトがどのようにプレーンなJavascriptで動作するかを完全に理解しています。これは、Javascriptに関する質問ではなく、AngularJSに存在する違いについてです(解析や他の実装の詳細のため)
おそらくこれがあなたの質問に答えます。ユーザーAlpの回答を参照してください。https://stackoverflow.com/a/17295727/1735789 –
ありがとう@RafaelGadottiBachovas。しかし、私はジェネリックJSの解釈を探しているわけではありません(そうでなければ、私はちょうどドット表記法を使うでしょう)。 –
明らかに、角括弧とドット表記の間にhttps://stackoverflow.com/a/30975165/4488121のように意味のある違いはありませんが、angularjs式パーサーについてはわかりません。しかし機能面からは、ブラケット表記法では、bar ['2foo']のような無効な識別子の文字で指定されたプロパティを使用できます。これは、有効な識別子のみをサポートするドット表記ではできません。 –