我有一个通用的JS问题,我甚至不确定如何把它。
在什么情况下您使用以下代码结构?这是什么意思(或者使用它有什么意义)?这种做法叫做什么?
x1 = x2 ? x3 : x4;
你能提供参考,例子和可能性吗?
答案 0 :(得分:0)
以下内容
if(x>10)
{
y=10;
}
else
{
y=9;
}
可以写成
(x>10) ? y=10 : y=9;
我想现在你明白了
答案 1 :(得分:0)
如果x2为假,则x1 = x4 如果x2为真,则x1 = x3
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
答案 2 :(得分:0)
在扩展代码中,这说:
if(x2){
x1 = x3;
}
else{
x1 = x4
}
如果您熟悉三元运算符(如果不熟悉,请查看它),那么这可能会更有意义。
x1 = (x2 ? x3 : x4);
答案 3 :(得分:0)
它被称为ternary operator。它是if-else的简写。它用于许多高级编程语言。
x1 = x2 ? x3 : x4;
上面的代码可以扩展为:
x1 = undefined;
if (x2) {
x1 = x3;
} else {
x1 = x4;
}
答案 4 :(得分:0)
这是ternary operator
。
如果X1 = X2
,X1
获取值X3
,则X1
获取值X4
。
答案 5 :(得分:0)
? :是一个'三元运营商';它需要三个参数。第一个参数是测试,如果test为true,则第二个参数是返回值,如果测试为false,则第三个参数是返回值。
所以1 === 1 ? 'foo' : 'bar'
会返回'foo'而1 === 0 ? 'foo' : 'bar'
会返回'bar'。这总是可以用if..else结构替换,但考虑到它的简短形式,它可以保持代码整洁。
如果测试和返回值的形式非常复杂,我会使用更“传统”的if..else结构。