gpt4 book ai didi

javascript - 是否可以执行 "if .. || if .."?

转载 作者:行者123 更新时间:2023-11-28 15:45:37 24 4
gpt4 key购买 nike

我有一个关于 || 的问题JavaScript 中的运算符。据我了解,它可以用作“OR”运算符或空合并运算符。

我的问题是,我可以将 if 语句与 || 结合使用吗?空合并运算符?例如,

if (x=y){
alert("Yup");
}||if (x=0){
alert("Nope);
}

提前致谢。

最佳答案

没有。只需使用else

JavaScript 语法区分如下语句

if (condition) statement else statement

以及类似的表达式

expr || expr

通过 ExpressionStatement 产生式,语句可以包含几乎没有限制的表达式°,但表达式只能以非常有限的方式包含语句°°.

所以

{statement} || {statement}

既不是有效的语句,也不是有效的表达式,因为 JavaScript 解析器会看到它期望出现语句的 || 并报告解析错误。

<小时/>

其次,||并不是真正的“空合并”。要了解原因,请考虑

alert(false || null)  // alerts "null" not "false"
alert(0 || null) // alerts "null" not "0"
alert("" || null) // alerts "null" not the empty string
alert((0/0) || null) // alerts "null" not "NaN"

因为 || 的左侧是 falsey如果仅合并 null,则优先考虑 null,这不是您所期望的。

<小时/>

° - { key: value } 对象构造函数与 block 不明确,命名函数表达式与函数声明不明确,因此除非加括号,否则两者都被禁止。

°° - 像 function () { ... } 这样的函数表达式可以在其主体中包含语句。

关于javascript - 是否可以执行 "if .. || if .."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22462956/

24 4 0
文章推荐: html - 针对特定的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com