assert.deepStrictEqual()

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,将会分配一个默认的错误消息。

原文地址:https://www.cnblogs.com/lalalagq/p/9908351.html