什么是?:(问号和冒号运算符。条件或“三元”)操作符,我如何使用它?
当前回答
条件(三元)操作符是唯一的JavaScript操作符 这需要三个操作数。这个运算符经常被用作 if语句的快捷方式。
condition ? expr1 : expr2
如果condition为真,运算符返回expr1的值; 否则,它返回expr2的值。
function fact(n) {
if (n > 1) {
return n * fact(n-1);
} else {
return 1;
}
// we can replace the above code in a single line of code as below
//return (n != 1) ? n * fact(n - 1) : 1;
}
console.log(fact(5));
如需更多说明,请阅读MDN文档链接
其他回答
条件(三元)操作符是唯一的JavaScript操作符 这需要三个操作数。这个运算符经常被用作 if语句的快捷方式。
condition ? expr1 : expr2
如果condition为真,运算符返回expr1的值; 否则,它返回expr2的值。
function fact(n) {
if (n > 1) {
return n * fact(n-1);
} else {
return 1;
}
// we can replace the above code in a single line of code as below
//return (n != 1) ? n * fact(n - 1) : 1;
}
console.log(fact(5));
如需更多说明,请阅读MDN文档链接
这是一行中的if语句。
So
var x=1;
(x == 1) ? y="true" : y="false";
alert(y);
要计算的表达式在()中。
如果匹配为true,则执行?
如果匹配为false,执行下面的代码:
(sunday == 'True') ? sun="<span class='label label-success'>S</span>" : sun="<span class='label label-danger'>S</span>";
sun = "<span class='label " + ((sunday === 'True' ? 'label-success' : 'label-danger') + "'>S</span>"
它被称为“三元”或“条件”操作符。
例子
?:操作符可以用作 if的快捷方式…else语句。 它通常用作 更大的表达式,其中if…else 声明会很尴尬。为 例子:
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
这个例子创建了一个字符串 上面写着"晚上好 下午6点之后。使用的等效代码 一个如果…Else语句看起来像 如下:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";
来自MSDN JS文档。
基本上这是一个简写的条件语句。
还看到:
Javascript三元运算符的运算符优先级 维基百科
如果你在javascript中有一个条件检查实例函数。三元算符易于使用。只需要一行就可以实现。 例:
private module : string ='';
private page:boolean = false;
async mounted(){
if(this.module=== 'Main')
{
this.page = true;}
else{
this.page = false;
}
}
只有一个条件的函数可以写成这样。
this.page = this.module=== 'Main' ?true:false;
条件?if True: False