我只能举例说明:
let a = 0;
let b = 2;
let condition;
condition ? a = 2; b = 10 : false
console.log(a, b)
为什么这个语法是错误的?
最佳答案
您需要将赋值括在括号中并使用 comma operator它分隔赋值,而不是分隔语句的分号。
分号结束conditional (ternary) operator ?:
在到达 :
之前,这是语法的必需部分,这会导致错误。
let a = 0;
let b = 2;
let condition = true;
condition ? (a = 2, b = 10) : false;
console.log(a, b);
您可以使用 logical AND &&
而不是条件运算符.
let a = 0;
let b = 2;
let condition = true;
condition && (a = 2, b = 10);
console.log(a, b);
最后是使用 if
的最佳方法。
let a = 0;
let b = 2;
let condition = true;
if (condition) {
a = 2;
b = 10;
}
console.log(a, b);
关于javascript - 三元运算返回多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50631742/