javascript - 'if condition' 与 'console.log' 内部相等性检查之间的区别

标签 javascript

<分区>

我正在尝试一个代码片段,结果对于 console.log 语句和条件语句中的空数组检查是不同的。 帮助/思考为什么这是不同的? 提前致谢!

//Output: true
if([]) {
  console.log(true)
} else{
  console.log(false)
}

//Output: false
console.log([] == true)

最佳答案

您似乎遇到了一个已知的 JavaScript 怪癖。

“[]是真的,但不是真的”

问题不在于您在哪里进行评估,而是两个看似相同的评估实际上是不同的。

https://github.com/denysdovhan/wtfjs#-is-truthy-but-not-true

关于javascript - 'if condition' 与 'console.log' 内部相等性检查之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53089337/

相关文章:

javascript - 有没有办法自动向下滚动并加载任何使用无限滚动的网站的更多内容?

javascript - Highcharts 时间序列,X 轴最小值不起作用

javascript - 如何禁用将十进制数转换为指数?

javascript - 收到服务器 500 内部错误,但在 postman 中工作正常

javascript - 使用 javascript 读取 HTML 文本中的字符和单词

javascript - 使用 lodash 转换嵌套对象

javascript - 如何让 JavaScript .value 在 PHP echo 中工作

javascript - then() 如何提供它的参数

javascript - 单击第二个按钮后,jQuery on click 开始正常工作

javascript - 防止垂直触摸移动事件,但通过按钮留下水平触摸和滚动机会