JavaScript中的三目运算符

三目运算符(也被称为三元运算符、条件运算符),由一个问号和一个冒号组成,语法格式如下:

条件表达式 ? 表达式1 : 表达式2 ;

“条件表达式”必须是一个布尔型的表达式,而“表达式1” 和 “表达式2” 是任意类型的值。

  • 如果“条件表达式”的结果为真(true),则执行“表达式1”中的代码,并返回该表达式的值。

  • 如果“条件表达式”的结果为假(false),则执行“表达式2”中的代码,并返回该表达式的值。

示例:

定义变量 a,然后检测 a 是否被赋值,如果赋值则使用该值;否则设置默认值。

var a = null;  //定义变量a
typeof a != "undefined" ? a = a : a = 0;  //检测变量a是否赋值,否则设置默认值
console.log(a);  //显示变量a的值,返回null

条件运算符可以转换为条件结构:

if(typeof a != "undefined"){  //赋值
    a = a;
}else{  //没有赋值
    a = 0;
}
console.log(a);

也可以转换为逻辑表达式:

(typeof a != "undefined") && (a =a) || (a = 0);  //逻辑表达式
console.log(a);

在上面表达式中,如果 a 已赋值,则执行 (a = a) 表达式,执行完毕就不再执行逻辑或运算符后面的 (a = 0) 表达式;如果 a 未赋值,则不再执行逻辑与运算符后面的 (a = a) 表达式,转而执行逻辑或运算符后面的表达式 (a = 0)。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。