javaScript中的未知查询语句

javaScript中的未知查询语句,javascript,Javascript,我在JavaScript中阅读了以下语句: this.fade = (fade == undefined ? 5 : fade); 它对我来说是新的,所以我不知道它是什么意思。它就像一个if语句。 你可以这样翻译: if(fade == undefined ){ this.fade = 5; } else { this.fade = fade } 这就是所谓的 三元运算符是单行if语句的简短形式 ?前面的表达式是条件。 如果为true,则=左侧的变量等于:之前的值,否则,它是

我在JavaScript中阅读了以下语句:

this.fade = (fade == undefined ? 5 : fade);
它对我来说是新的,所以我不知道它是什么意思。

它就像一个if语句。 你可以这样翻译:

if(fade == undefined ){
    this.fade = 5;
} else {
    this.fade = fade
}
这就是所谓的

三元运算符是单行if语句的简短形式

前面的表达式是条件。 如果为true,则
=
左侧的变量等于
之前的值,否则,它是
之后的值

p.S.

此表达式周围的括号是完全可选的

this.fade = fade == undefined ? 5 : fade;

将得到相同的结果。

这是三元运算符。这意味着如果
fade==undefined
它将返回
5
this.fade=5
),否则它将返回
fade
this.fade=fade

更清楚地说,这类似于编写if-else语句:

if (fade == undefined) {
    this.fade = 5;
} else {
    this.fade = fade;
}

您显示的代码使用三元运算符。它用于根据某些条件计算最终表达式。三元运算符的一般语法为

condition ? exp1 : exp2;
exp1和exp2是两个表达式。如果条件为
true
,则上述整行将计算为
exp1
,否则
exp2

您可以对三元运算符使用
if-else
。就像你的代码一样

if(fade == undefined){
    this.fade = 5
}
else{
    this.fade = fade
}

注意:
if/else
始终可以用来代替三元运算符,但三元运算符不能始终用于
if
语句。

它被称为可能的重复。顺便说一句,只需
this.fade=fade | 5
就可以了,因为
undefined
是错误的。@YeldarKurmangaliyev
fade
看起来像一个数字,它会给
这个赋值5。如果
fade
是0(这可能不适合操作)@adiga确实:)“它就像一个if语句“不,它不是”。您可以在
if
块内执行语句,但不能使用使用三元运算符的语句。我认为OP的意思是三元运算符是简单if语句的一种缩写形式,也就是说,您还可以将第一个代码块更改为此,以便更好地理解
条件?whentrue:whenfalse