assert.deepStrictEqual(actual, expected[, message])
一般情况下等同于 assert.deepEqual(),但有两个例外。首先,原始值是使用全等运算符(===)进行比较。其次,比较的对象包括严格比较他们的原型。
const assert = require('assert');
assert.deepEqual({a:1}, {a:'1'});
// OK, because 1 == '1'
assert.deepStrictEqual({a:1}, {a:'1'});
// AssertionError: { a: 1 } deepStrictEqual { a: '1' }
// because 1 !== '1' using strict equality
如果这两个值不相等,将会抛出一个带有 message 属性(等于该 message 参数的值)的 AssertionError。如果 message 参数为 undefined,将会分配一个默认的错误消息。