我一直在研究一个项目,而且我经常要得到一个变量的长度。我最近开始使用以下语法,因为我认为它看起来更好并且输入更快,特别是当我有长变量名和多个条件时。
if ((myArrayVariable || "").length > 0) {
// Do stuff...
}
以前,我是这样做的:
if (myArrayVariable != null && myArrayVariable.length > 0) {
// Do stuff...
}
我想知道的是,第一种语法是否/(多少)效率较低?
答案 0 :(得分:1)
为了测试性能,我做了一个jsperf test测试null,一个空数组,以及一个包含以下变体元素的数组:
(array || '').length > 0
array != null && array.length > 0
array && array.length
初始运行表明第一个变化比其他变量<96>慢。此外,其他两个几乎相同,但adeneo&#39; suggestion比第二个快约半个。