javascript - JS 0 === (0 || 6); 返回 false - 为什么?
问题描述
0 === (0 || 6) // returns false
false === (false || 6) // returns false
(false === false || false === 6) // returns true
(0 === 0 || 0 === 6) // returns true
console.log( 0 === (0 || 6) );
console.log( false === (false || 6) );
console.log( (false === false || false === 6) );
console.log( (0 === 0 || 0 === 6) );
是什么赋予了?我之前遇到过这种情况,但不明白。
解决方案
0 === (0 || 6) // returns false
这都是关于操作顺序的。这将返回 false,因为首先评估括号。所以(0 || 6)
返回 6 并且0 === 6
是false
false === (false || 6) // returns false
(false === false || false === 6) // returns true
(0 === 0 || 0 === 6) // returns true
在解释之后,其余的就很容易理解了。
推荐阅读
- android - Firestore 规则在操场上有效,但不适用于外部请求
- ruby-on-rails - 有没有更好的方法有条件地允许用户使用 ruby on rails 使用“用户名”或“电子邮件”登录?
- django - 在 DRF POST 请求中分配外键
- dompdf - 如何在 PHP 中将 HTML 转换为 PDF 时添加外部 CSS
- javascript - React(JS) UI 与状态不匹配
- python - 具有两个密钥的 Python 凯撒密码
- javascript - javascript插件中的链接不起作用
- ruby-on-rails - 运行迁移时对 Rails 应用程序 ActiveRecord::NoEnvironmentInSchemaError 进行 Dockerizing
- python - Pandas 中的列组添加
- javascript - 使用 matchCase 或 matchWholeWord 搜索跟踪段落上的文本会在 officeJs word online 中返回错误范围