两者相同吗?
假设您有:
var x = true;
然后您可以选择以下任一项:
x && doSomething();
要么
if(x) doSomething();
两种语法之间有什么区别吗?我偶然发现了很多糖吗?
严格来说,它们将产生相同的结果,但是如果将前一种情况用作其他条件的条件,则会得到不同的结果。这是因为在的情况下x && doSomething(),doSomething()将返回一个值以表示其成功。
x && doSomething()
doSomething()