JS juzga si el objeto es un objeto vacío {}

Un subtotal de un punto de conocimiento, a veces queremos juzgar si un objeto es un objeto vacío, es decir, un objeto {} sin ningún atributo, ¿
qué? quieres usar

obj == null

? ,
deja de perder el tiempo, obviamente no quise decir eso.

¿Qué? ¿Quieres usar esto de nuevo?

obj == {
    
    }

Olvídalo, déjame mostrarte un fragmento de código:

let obj={
    
    };
return obj == {
    
    }

¿Este código devuelve verdadero? Los estudiantes con ojos agudos deberían poder verlo de un vistazo, no miren los dos pares de llaves que se ven exactamente iguales, pero definitivamente devolverán falso. Por qué, permítanme explicarlo en detalle: en JavaScript,
cuando crea un objeto vacío let obj = {}, y luego devuelve falso al comparar este objeto con otro objeto vacío {}. Esto se debe a que en JavaScript, los objetos se comparan en función de la referencia, no del contenido.
Dos objetos diferentes se consideran desiguales incluso si tienen el mismo contenido, porque tienen diferentes direcciones de referencia en la memoria.

De hecho, esta línea de código no será verdadera bajo ninguna circunstancia, entonces, ¿cómo puedo juzgar si este objeto es un objeto vacío? Existen los siguientes métodos:
Método 1 (recomendado), para verificar si un objeto es un objeto vacío, puede usar Object.keys(obj) para verificar si tiene alguna propiedad.

let obj = {
    
    };
let isEmpty = Object.keys(obj).length === 0;
console.log(isEmpty); // true

Método 2 (no recomendado), también puede usar JSON.stringify(obj) para convertir el objeto en una cadena y luego verificar si la cadena es "{}" para determinar si el objeto es un objeto vacío. Tenga en cuenta, sin embargo, que este enfoque puede no funcionar para objetos que contienen funciones o referencias circulares.

let obj = {
    
    };
let isEmpty = JSON.stringify(obj) === "{}";
console.log(isEmpty); // true

No lo leas, guárdalo rápido, no borraré el artículo, no te preocupes.

Supongo que te gusta

Origin blog.csdn.net/Spy003/article/details/132014152
Recomendado
Clasificación