与地图索引或点表示法绑定之间的区别



以下两个块之间是否有任何功能或性能差异?

<foo ng-if="bar['qux']">
<foo ng-if="bar.qux">

如果最初定义/未定义bar.qux,是否有区别?

注意:我完全理解对象在纯Javascript中的工作方式。这不是一个关于Javascript的问题,而是关于AngularJS中可能存在的差异(因为解析或任何其他实现细节)。

我创建了一个适当的 jsPerf 测试用例,以确保哪个符号解析得更快,结果是点表示法比括号表示法快 6% 左右。

JsPerf 测试用例:https://jsperf.com/test-angularjs-parse-speed。

点表示法更快,但是,性能差异似乎太小了,因此您可以根据对您(或您的团队)更具可读性和实用性的内容来选择使用其中的哪一个。因为两者都以每秒超过 10,000,000 次操作运行,所以对于如此简单的表达式,7% 不会对您的应用造成任何性能问题。

使用点表示法,初始化后对象关系自定期调用以来永远不会改变。

最新更新