javascript - 严格平等是否能保证松散平等

标签 javascript node.js mocha.js

我开始使用 Mocha 为我的 nodeJS/Javascript 应用程序编写单元测试。

对于我的相等断言测试,我决定使用

  • assert.strictEqual 测试相等性
  • assert.notEqual 测试差异

这背后的想法是强制使用严格相等运算符(===!==),但要确保在以下情况下不会产生错误:使用 ==!=

但这让我想到一个问题:

对于每一个可能的aa === b都意味着a == b并且a !== b 表示 a != b ?

最佳答案

=== 和 !== 确保不仅项目被视为“相等”,而且它们是相同的类型 - 不会进行类型强制:

"1" == 1 //true
"1" === 1 //false

对于不等运算符来说也是一样的:

"2" != 1 //true
"2" !== 1 //true

"1" != 1 //false
"1" !== 1 //true

所以,简短的回答,“对于每一个可能的 a == b 都意味着 a === b 并且 a != b 意味着 a !== b 吗?” - 没有。

关于javascript - 严格平等是否能保证松散平等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33544624/

相关文章:

javascript - Jasmine spyOn - jQuery 匿名函数中不存在方法

javascript - 计算三次贝塞尔曲线的弧长、曲线长度。为什么不工作?

javascript - 无法理解 gulp.src() 的行为

testing - ReferenceError : Can't find variable: require. [ karma ,webpack]

unit-testing - 使用Sinon、Mocha、Enzyme 和 React 模拟窗口

javascript - 测试异步运行时如何使用 sinon 沙箱?

javascript - javascript 如何知道它已到达 __proto__ 查找链的末尾

javascript - 当用户单击可配置产品中的下拉菜单时弹出消息?

node.js - 使用 Mongoose 获取/查找子集合

node.js - 如何将 https 添加到yarn run 中?