JavaScript 速记三元运算符

2022-08-30 04:13:50

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

startingNum = startingNum ? startingNum : 1

...我们可以在适用的情况下为我们的三元运算符使用速记语法:

startingNum = startingNum ?: 1

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

startingNum = startingNum ? startingNum : 1

...但是有速记吗?


答案 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

答案 2

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

startingNum = startingNum || 1;