引入assert:
const assert = require('assert')
const strict = require('assert')
assert.AssertionError() assert抛出的所有错误都是该类的实例
const {message} = new assert.AssertionError({
//输出的错误信息
message:"noEqual",
//实际值
actual:1,
//比较值,期望值
expected:2,
//比较模式 equal strictEuqal等
operator:'strictEqual'
})
assert.equai(1,'1','noEqual') // 不会抛出错误 因为他们之间存在不严格相等关系
assert.strictEqual(1,'1') //抛出错误
assert({name:'123'},{name:'123'}) //抛出错误 因为他们不属于同一个对象,在内存中的位置也不同
//同理,比较两个值完全一致的数组也会抛出错误
//因为他们也不属于真正意义上的 " 同一个数组 "
assert.deepEqual([1,2,3,['1',2,3]],[1,2,3,[true,2,3]])
//不会抛出错误 因为 '1'和 true 存在不严格相等的关系
assert({name:'123'},{name:'123'}) //不会抛出错误
assert([[1,2,3],2,3],[[1,2,3],2,3] //抛出错误
//都不会抛出错误
assert.fail(false,'this is false')
assert.ok(true,'this is true')
相关链接:
tc39.github.io-same-value