“ obj!= null” vs“!(obj == null)”?

时间:2019-05-01 08:04:52

标签: javascript performance comparison

一个朋友说我应该使用! (obj == null),因为它比obj != null更好,但他不记得为什么要这么做。

使用! (obj == null)有什么理由吗?

有什么区别吗?我的意思是,当true不是objnull都不是时,两者都应返回undefined,对吗? (我有点困惑)

当答案都相同时,我想知道,这对所有JavaScript版本都适用吗? (我是说,两者都可以在所有浏览器上使用吗?)

2 个答案:

答案 0 :(得分:4)

  

是否有使用理由! (obj == null)?

某些人可能会觉得更容易(或更难)阅读。

  

是否有任何更改,我的意思是,当obj不为null且都不为undefined时,两者都应返回true,对吗? (我有点困惑)

不。它们的意思完全相同。

  

当答案都是相同的结果时,那么我想知道,这对所有Java脚本版本都适用吗? (我是说,两者都可以在所有浏览器上使用吗?)

是的。

答案 1 :(得分:-1)

updateQuantity = (e) => { this.props.updateQuantity(e, this.props.id); } 将必须执行比较运算以及布尔运算。所以,它有点慢。

另一方面,! (obj == null)是一个比较。

最快的是obj != null,它不需要强制输入。

但是,在普通程序中上述三种情况的性能变化是微不足道的。