El módulo «util» proporciona funciones de «utilidad» que se utilizan con fines de depuración. Para acceder a esas funciones necesitamos llamarlas (mediante ‘ require(‘util’) ‘).
El método util.isDeepStrictEqual() (agregado en v9.0.0) es una interfaz de programación de aplicaciones incorporada del módulo util que es una función de tipo exportado que prueba la profunda igualdad de dos valores, es decir, entre el real ( value1 ) y el esperado ( valor2 ) parámetros. La igualdad profunda es un método que ayuda a evaluar las propiedades «propias» enumerables de los objetos secundarios de forma recursiva mediante unas pocas reglas.
Sintaxis:
const util = require('util'); util.isDeepStrictEqual(val1, val2);
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
-
val1 <any> : cualquier variable, clase, función, objeto o primitiva de JavaScript.
-
val2 <cualquiera> : cualquier variable, clase, función, objeto o primitiva de JavaScript.
Valor de retorno <booleano> : si valor1 y valor2 se consideran iguales, devuelve verdadero ; de lo contrario, devuelve falso .
Ejemplo 1: Nombre de archivo: 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
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
1.> false 2.> true 3.> true 4.> true 5.> false 6.> true
Ejemplo 2: Nombre de archivo: 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
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
1.> false 2.> true 3.> false 4.> true 5.> true 6.> false
Referencia: https://nodejs.org/api/util.html#util_util_isdeepstrictequal_val1_val2
Publicación traducida automáticamente
Artículo escrito por amitkumarjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA