我在研究 JSON 的旅途中发现了这段代码:
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
我看到越来越多的?
和:
符号。我什至不知道它叫什么来查找它!任何人都可以为我指出一个很好的资源吗?(顺便说一句,我知道是什么!=
意思)。
我在研究 JSON 的旅途中发现了这段代码:
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
我看到越来越多的?
和:
符号。我什至不知道它叫什么来查找它!任何人都可以为我指出一个很好的资源吗?(顺便说一句,我知道是什么!=
意思)。
它被称为条件(三元)运算符。它本质上是一个浓缩的 if-else。
所以这:
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
...与此相同:
var array;
if (typeof objArray != 'object') {
array = JSON.parse(objArray);
} else {
array = objArray;
}
它是三元条件运算符——基本上,
if (condition) {
a = 4;
}
else {
a = 5;
}
变成
a = condition ? 4 : 5;
这称为条件运算符:
condition ? expr1 : expr2
如果
condition
是true
,则运算符返回expr1
;的值 否则,它返回 的值expr2
。
像这样读它:
result = (condition) ? (true value) : (false value);
将您喜欢的任何内容放在 3 个运算符中。
许多人将其与 IF.. THEN 结构进行比较,事实就是如此。