JavaScript三元运算符简写语法:如何为真假分支执行多操作?
在JavaScript三元运算符中为多变量赋值的正确语法
要在三元运算符的每个分支里完成多个变量赋值,有两种常用的正确写法:
方法一:使用逗号运算符包裹多操作
通过**逗号运算符(,)**串联多个赋值表达式,并且给每个分支的操作加上括号(避免优先级冲突),就能在单个分支里执行多个赋值:
var numberA = 5; let rltvToTen = ''; let otherVar = ''; // 满足条件时同时给两个变量赋值,不满足时也可对应设置值 numberA >= 10 ? (rltvToTen = 'EqualOrGreater', otherVar = 'Lorem Ipsum.') : (rltvToTen = 'Less', otherVar = ''); console.log(`Relative to ten: ${rltvToTen}`); console.log(`Other variable: ${otherVar}`);
- 逗号运算符会按顺序执行每个表达式,这里仅需要执行赋值操作,无需利用它的返回值
- 括号必须添加,因为三元运算符优先级高于逗号,不加括号会导致语法解析错误
方法二:使用解构赋值(更简洁直观)
把每个分支要赋值的变量值放在数组(或对象)里,通过解构赋值一次性给多个变量赋值:
var numberA = 5; let rltvToTen = ''; let otherVar = ''; // 数组解构:将分支返回的数组元素对应赋值给变量 [rltvToTen, otherVar] = numberA >= 10 ? ['EqualOrGreater', 'Lorem Ipsum.'] : ['Less', '']; console.log(`Relative to ten: ${rltvToTen}`); console.log(`Other variable: ${otherVar}`);
这种写法逻辑更清晰,可读性更强,尤其适合需要给多个变量对应赋值的场景。
内容的提问来源于stack exchange,提问作者gideoncalv
相关产品推荐
相关产品推荐

