“util”模塊提供用於調試目的的‘utility’函數。要訪問這些函數,我們需要調用它們(通過“ require(‘util’)”)。
util.isDeepStrictEqual()(在v9.0.0中添加)方法是util模塊的內置應用程序編程接口,這是一個導出的類型函數,用於測試實際值(value1)和預期值(value2)之間的兩個值的深度相等性。參數。深度相等是一種通過一些規則來遞歸評估子對象的可枚舉“own”屬性的方法。
用法:
const util = require('util'); util.isDeepStrictEqual(val1, val2);
參數:此函數接受上述和以下描述的兩個參數:
-
值1<任何>:任何變量,類,函數,對象或JavaScript原語。
-
值2<任何>:任何變量,類,函數,對象或JavaScript原語。
返回值 <布爾值>:如果將value1和value2視為相等,則返回true,否則返回false。
範例1: 文件名:index.js
// Node.js syntax to demonstrate the
// util.isDeepStrictEqual() method
// Importing util library
const util = require('util');
// Creating object1
const object1 = {
alfa:"beta",
romeo:[10, 20]
};
// Creating object2
const object2 = {
alfa:"beta",
romeo:[10, 20]
};
// Returns false
console.log("1.>", object1 == object2)
// Returns true
console.log("2.>", util
.isDeepStrictEqual(object1, object2))
// Creating a fake date
const wrongDateType = {};
// Comparing wrongDateType with correct date
console.log("3.>", util.isDeepStrictEqual(
wrongDateType, Date.prototype));
const anObject = {};
// Prototype is not same
console.log("4.>", util.isDeepStrictEqual(
anObject, wrongDateType));
// Returns false
// Creating new date
const newDate = new Date();
// Comparing Date formats
console.log("5.>", util.isDeepStrictEqual(
newDate, wrongDateType));
// Returns false
const weakMapOne = new WeakMap();
const weakMapTwo = new WeakMap([[{}, {}]]);
// Comparing two weakMaps
console.log("6.>", util.isDeepStrictEqual(
weakMapOne, weakMapTwo));
// Returns true
使用以下命令運行index.js文件:
node index.js
輸出:
1.> false 2.> true 3.> true 4.> true 5.> false 6.> true
範例2: 文件名:index.js
// Node.js syntax to demonstrate the
// util.isDeepStrictEqual() method
// Importing util library
const util = require('util');
// String and integer are compared
// wrong 1 !== '1'.
console.log("1.>", util
.isDeepStrictEqual({ a:1 }, { a:'1' }));
// Returns false
// Comparing Not a Number with Not a Number
console.log("2.>", util.isDeepStrictEqual(NaN, NaN));
// Returns true
// Unwrapped numbers are different
console.log("3.>", util
.isDeepStrictEqual(Object(1), Object(2)));
// Returns false
// Directly importing isDeepStrictEqual method
const { isDeepStrictEqual } = require('util');
// Unwrapped strings are same
console.log("4.>", isDeepStrictEqual(
Object('alfa'), Object('alfa')));
// Returns true
// Comparing both negative values
console.log("5.>", isDeepStrictEqual(-0, -0));
// Returns true
// Same Value Comparison with different sign
console.log("6.>", isDeepStrictEqual(0, -0));
// Returns false
使用以下命令運行index.js文件:
node index.js
輸出:
1.> false 2.> true 3.> false 4.> true 5.> true 6.> false
參考: https://nodejs.org/api/util.html#util_util_isdeepstrictequal_val1_val2
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js GM drawPolygon()用法及代碼示例
- Node.js GM sepia()用法及代碼示例
- Node.js GM contrast()用法及代碼示例
- Node.js GM lower()用法及代碼示例
- Node.js GM negative()用法及代碼示例
- Node.js GM median()用法及代碼示例
- Node.js GM scale()用法及代碼示例
- Node.js GM roll()用法及代碼示例
- Node.js GM operator()用法及代碼示例
- Node.js GM segment()用法及代碼示例
- Node.js GM quality()用法及代碼示例
- Node.js GM drawRectangle()用法及代碼示例
注:本文由純淨天空篩選整理自vikas_g大神的英文原創作品 Node.js util.isDeepStrictEqual() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。