javascript - 三元运算返回多个值

标签 javascript

我只能举例说明:

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/

相关文章:

javascript - JQuery 数据表中的 TableTools 导出不起作用

javascript - 在 node.js 中使用 stripe 实现 ach

javascript - 应取消选中“全部选中”复选框

javascript - 如何在保持纵横比的同时调整和裁剪图像客户端

javascript - 从 get 方法中删除 %20 值

javascript - 在重新加载另一个 html 页面后关闭 iframe

javascript - 如何使用本地存储/内存来存储我的文本 RPG 的数据?

javascript - 响应中的 csv 数据在哪里?

javascript - 助焊剂及应用状态

php - 为什么 php 不将图像内容写入磁盘?