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运算符。