javascript - JavaScript 中 `if(x=y)` 会返回 false 或失败吗?

标签 javascript conditional-operator

这是一个理论问题,因为我无法想象任何实际用途。

我今天做了一个大胆的声明,在 JavaScript 中,以下内容将始终返回 true:

if (x=y){
    //code
}

并且//code,无论它是什么,都将始终被执行。

这是典型的拼写错误,没有输入 == 甚至 ===

此功能也可以在 C/C++ 中演示,但作为比 JavaScript 更强类型的语言,不难想到此分配会失败的情况。

但是,在 JavaScript 中,给定两个变量 xy,我很难想象在什么情况下会失败,或者处理条件代码块不会执行。

有人吗?

最佳答案

如果 y=0、y=null、y=undefined 或 y=false,则 (x=y) 的计算结果为 false。

编辑:如果 y=NaN

编辑:如果 y=""

关于javascript - JavaScript 中 `if(x=y)` 会返回 false 或失败吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4095065/

相关文章:

bash - 测试并记录终端输出

javascript - 条件运算符 false 值似乎无法运行

javascript - 验证 javascript 请求是否来自网站

javascript - 使用node.js更改目录

javascript - 使用 Javascript 根据之前的下拉选择隐藏/显示下拉菜单

javascript - 为什么Function的原型(prototype)是一个函数,为什么Object继承自函数?

javascript - 从已编译的 CSS 中删除所有注释 - Grunt

c# - 将 'in-line IF' (C#) 与 response.write 结合起来

c - 将 printf 用于混合类型的三元运算符参数

Ruby 相当于 Coffeescript 的简写版本 `if` 运算符