该方法顾名思义,用于检查两个值是否深度严格相等。如果两个值是 deep strict 相等,则返回 true,否则返回 false。util.isDeepStrictEqual()
util.isDeepStrictEqual(val1, val2)
val1 和 val2 – 两个输入参数都可以接受类、函数、对象或 JavaScript 原始值。上面的函数检查这两个值之间的相等性。
创建一个名为“ 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
// 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