【发布时间】:2021-10-12 17:03:35
【问题描述】:
我正在为自己编写一些代码只是为了更好地学习 JS,我想知道 if 语句与比较两个值的运算符或否定整个条件的运算符的否定条件是否有任何区别。
第一个是这样的:
if(value != 'foo') {}
第二个:
if(!value == 'foo') {}
有没有更好、更合适的?
谢谢!
【问题讨论】:
-
它们在语义上是不同的。第二个总是
false,因为!value总是一个布尔值,因此不等于foo。你可能打算写if (!(value == 'foo') -
if(value != 'foo') {}与if(!(value == 'foo')) {}相同。在 99% 的情况下,第一个更具可读性和首选。您的第二个示例没有任何意义,因为在大多数情况下 value 将是 true。