Javascript if 语句与比较

标签 javascript

在 if 语句中,JavaScript 将条件包装成 bool 值是真的吗?

if(x) => if(Boolean(x))

在比较中,JavaScript 将比较元素包装成数字是真的吗?

a == b => Number(a) == Number(b)

最佳答案

是的,也不是。

对于第一部分,,这基本上就是 javascript 所做的。

但对于后者,没有。并非 JavaScript 中的所有内容都可以转换为数字。例如:

Number('abc') // => NaN

和 Not-A-Numbers 不相等:

NaN == NaN // => false

所以像这样:

Number('abc') == Number('abc') // => false!

但是对于相等比较,这实际上是正确的。

'abc' == 'abc' // => true

附带说明,在 JavaScript 中使用 === 可能会更好,它还会检查所比较的值的类型:

0 == '0' // => true
0 === '0' // => false, because integer is not a string

关于===的更多细节可以是read over here .

关于Javascript if 语句与比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10494573/

相关文章:

javascript - 未定义错误的警报触发

javascript - 无法在 Javascript 中连接 String+Variable+String

javascript - 何时在 AngularJS 中使用 PATCH 和 PUT

javascript - 如何跟踪过期情况

javascript - 解释 Chrome 开发工具中的丢帧

javascript - 动画期间可见的 Canvas 背景

javascript 在 Dropzone.js 中混淆函数调用和返回

javascript - Spring Controller URL 请求映射仅在带有字符串的空白页面上不起作用

javascript - 如何延迟倒计时开始?

javascript - Wicket 口+Javascript