检查null与使用||当得到长度

时间:2015-04-17 16:05:16

标签: javascript

我一直在研究一个项目,而且我经常要得到一个变量的长度。我最近开始使用以下语法,因为我认为它看起来更好并且输入更快,特别是当我有长变量名和多个条件时。

if ((myArrayVariable || "").length > 0) {
    // Do stuff...
}

以前,我是这样做的:

if (myArrayVariable != null && myArrayVariable.length > 0) {
    // Do stuff...
}

我想知道的是,第一种语法是否/(多少)效率较低?

1 个答案:

答案 0 :(得分:1)

为了测试性能,我做了一个jsperf test测试null,一个空数组,以及一个包含以下变体元素的数组:

  • 第一个样式(array || '').length > 0
  • 第二种语法array != null && array.length > 0
  • 第三个版本array && array.length

初始运行表明第一个变化比其他变量<96>慢。此外,其他两个几乎相同,但adeneo&#39; suggestion比第二个快约半个。

The first is 96% slower than the others