JavaScript 中 ? 与 : 组合使用的语法含义是什么?
JavaScript中
?:语法的含义 你提到的?和:组合是JavaScript的三元条件运算符,是if...else分支判断的简写形式,专门用于简单的条件赋值场景,基础语法如下:
判断条件 ? 条件成立时返回的值 : 条件不成立时返回的值
对应示例代码拆解
逐行运行你给出的代码就能明确逻辑:
- 运行
myFunction()返回数值3,因此c = 3 - 计算
b = c + 3,得到b = 6 - 执行
var a = b ? c : 1时,会先判断b的布尔值:- 数值6属于真值(truthy),条件成立,所以把
c的值赋值给a,最终a = 3
- 数值6属于真值(truthy),条件成立,所以把
- 控制台最终输出结果为3
实际使用场景
三元运算符适合逻辑简单的二选一赋值场景,比完整写if...else更简洁,举个常见用例:
// 下面的写法等价于4行的if...else判断,代码更精简 const age = 20 const adultTip = age >= 18 ? '已成年' : '未成年'
注意事项
条件判断位置的变量会被自动转换为布尔值,以下 falsy(假值)会触发冒号后的分支:0、空字符串''、null、undefined、NaN、false,其余值都会判定为真值触发问号后的分支。
内容的提问来源于stack exchange,提问作者MrTiredVeryTired
相关产品推荐
相关产品推荐

