Node.js – util.isDeepStrictEqual() 方法

该方法顾名思义,用于检查两个值是否深度严格相等。如果两个值是 deep strict 相等,则返回 true,否则返回 false。util.isDeepStrictEqual()

语法

util.isDeepStrictEqual(val1, val2)

参数

  • val1  val2 – 两个输入参数都可以接受类、函数、对象或 JavaScript 原始值。上面的函数检查这两个值之间的相等性。

示例 1

创建一个名为“ deepStrictEqual.js ”的文件并复制以下代码片段。创建文件后,使用命令“ node deepStrictEqual.js ”运行此代码。

// util.isDeepStrictEqual() 演示示例

// 导入 util 模块
const util = require('util');

// 创建对象
const val1 = {
   name: "tom",
   age: 21
};

// 创建另一个对象
const val2 = {
   name: "tom",
   age: 21
};

// 检查两者是否是相同的对象
console.log("1.", val1 == val2)

// 检查对象内的相等性
console.log("2.", util.isDeepStrictEqual(val1, val2))

// 初始化空数据
const emptyData = {};

// 将空数据与日期进行比较
console.log("3.", util.isDeepStrictEqual(
emptyData, Date.prototype));

// 获取今天的日期
const newDate = new Date();

// 比较日期和它的原型
console.log("4.", util.isDeepStrictEqual(
newDate, Date.prototype));
输出结果
C:\home\node>> node deepStrictEqual.js
1. false
2. true
3. true
4. false

示例 2

// util.isDeepStrictEqual() 演示示例

// 导入 util 模块
const util = require('util');

// 比较字符串和整数
console.log("1. ", util
.isDeepStrictEqual({ a: 1 }, { a: '1' }));

// 比较两个 NaN 值
console.log("2. ", util.isDeepStrictEqual(NaN, NaN));

// 比较两个未定义的值
console.log("3. ", util
.isDeepStrictEqual(undefined, undefined));

// 导入 isDeepStrictEqual 而不是整个 util
const { isDeepStrictEqual } = require('util');

// 比较两个相同的展开对象
console.log("4. ", isDeepStrictEqual(
Object('jerry'), Object('jerry')));
输出结果
C:\home\node>> node deepStrictEqual.js
1. false
2. true
3. true
4. true