Javascript 使用if-else速记进行多变量更新

Javascript 使用if-else速记进行多变量更新,javascript,Javascript,我想用if-else速记更新多个值,如下所示: let a = 0; let b = 1; let bool = true; if(bool) { a = 4; b = 7; } 用这样的速记: bool ? a = 8, b = 10 : null 但是意外标记,您可以将它们包装在()中。它将计算()中的表达式,并返回最后一个表达式的结果 bool ? (a = 8, b = 10) : null 但如果您考虑 null 和未定义相同,您可以只使用 & & bool &am

我想用if-else速记更新多个值,如下所示:

let a = 0;
let b = 1;
let bool = true;

if(bool) {
  a = 4;
  b = 7;
}
用这样的速记:

bool ? a = 8, b = 10 : null

但是
意外标记,
您可以将它们包装在
()
中。它将计算
()
中的表达式,并返回最后一个表达式的结果

bool ? (a = 8, b = 10) : null

但如果您考虑<代码> null 和<代码>未定义相同,您可以只使用<代码> & &

bool && (a = 8, b = 10)

您可以将它们包装在
()
中。它将计算
()
中的表达式,并返回最后一个表达式的结果

bool ? (a = 8, b = 10) : null

但如果您考虑<代码> null 和<代码>未定义相同,您可以只使用<代码> & &

bool && (a = 8, b = 10)

您可以使用逻辑AND

bool && (a = 8, b = 10);
说:

如果要在需要单个表达式的位置包含多个表达式,可以使用逗号运算符


您可以使用逻辑AND

bool && (a = 8, b = 10);
说:

如果要在需要单个表达式的位置包含多个表达式,可以使用逗号运算符


将表达式放在括号之间。如果必须在一行上(为什么,行数不足?),为什么不
If(bool){a=8;b=10;}
?基本上没有理由让它成为一个带有多余的
null
的表达式。它不是关于一行,而是关于缩写
?:
解决方案比
多一个字符如果…
,则
和&
解决方案比
少4个字符。不确定你在这里真正保存了什么,而且它比显式的
if
更模糊。但是在我的应用程序中,我只是用速记写了9行,而不是16行,而不是不速记。把表达式放在括号之间。如果它必须在一行上(为什么,你缺少行?),为什么不
if(bool){a=8;b=10;}
?基本上没有理由让它成为一个带有多余的
null
的表达式。它不是关于一行,而是关于缩写
?:
解决方案比
多一个字符如果…
,则
和&
解决方案比
少4个字符。我不确定你到底在这里保存了什么,这比显式的
if
更模糊。但在我的应用程序中,我只是用速记写了9行,而不是16行,而不是不速记。我真的很喜欢这个解决方案,但苏伦是第一个:)@peter,不太清楚,只是在宽限期内。@peter接受Nina的回答。在她提供了答案后,我更新了我的答案her@SurenSrapyan温文尔雅的人:)我真的很喜欢这个解决方案,但苏伦是第一个:)@peter,不太喜欢,只是在宽限期内。@peter接受Nina的回答。在她提供了答案后,我更新了我的答案her@SurenSrapyan温柔的男人:)