gpt4 book ai didi

javascript 预期表达式,得到关键字 'break'

转载 作者:行者123 更新时间:2023-11-28 14:18:15 27 4
gpt4 key购买 nike

为什么以下 JavaScript 中使用三元运算符的代码会引发语法错误:

firstblock:{
a||b ? console.log(1) : (console.log(2), break firstblock);
console.log(3);
}

但以下使用 if/else 而不是三元的则不然:

firstblock:{
if(a||b) {console.log(1)} else {console.log(2); break firstblock};
console.log(3);
}

最佳答案

break 不是一个表达式,它是一个语句。三元运算符用于根据条件计算表达式。您不能在三元运算符内执行语句。

根据MDN三元运算符的语法是

语法

condition ? exprIfTrue : exprIfFalse

这里expr表示表达式。

if-else 视为两个不同的分支,您可以在其中执行通常可以执行的所有操作。您可以执行语句(不返回值的代码),例如 return; break 等。

三元运算符是一种仅返回表达式(返回值的代码)的方法。在这里你只能写表达式。

您不能在 return; 之后使用诸如break之类的语句,即 return break; 是无效代码,就像您不能在三元运算符中使用语句一样。

关于javascript 预期表达式,得到关键字 'break',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56446855/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com