Javascript速记三元运算符

我知道,在PHP 5.3而不是使用这种冗余的三元运算符语法:

startingNum = startingNum ? startingNum : 1 

…在适用的情况下,我们可以对三元运算符使用简写语法:

 startingNum = startingNum ?: 1 

我知道javascript中的三元运算符:

 startingNum = startingNum ? startingNum : 1 

…但是有速记吗?

多谢你们!

 var startingNumber = startingNumber || 1; 

像这样的东西你在找什么,如果未定义它默认?

 var foo = bar || 1; // 1 var bar = 2; foo = bar || 1; // 2 

顺便说一句,这适用于很多场景,包括对象:

 var foo = bar || {}; // secure an object is assigned when bar is absent 

|| 将返回它遇到的第一个真值,因此可以用作合并运算符,类似于C#的??

 startingNum = startingNum || 1; 

就在这里:

 var startingNum = startingNum || 1; 

一般来说, expr1 || expr2 expr1 || expr2按以下方式工作(如文档所述 ):

如果可以转换为true ,则返回expr1 ; 否则,返回expr2 因此,当与Boolean值一起使用时, || 如果任一操作数为true ,则返回true ; 如果两者都是false ,则返回false

 var startingNum = startingNum || 1; 

在这种情况下,您可以使用OR运算符。