¿Cuáles son las propiedades enumerables en JavaScript?

¿Cuáles son las propiedades enumerables en JavaScript?
"Propiedad enumerable"Es una propiedad que se puede recuperar y recorrer el uso de un"para ... en"Loop o el"Objeto.llaves()" método. Por defecto, todas las propiedades de un objeto son enumerables, pero hacer propiedades no enumerables puede evitar que se modifiquen o eliminen accidentalmente y haga que el código sea más legible. Si las propiedades del objeto están configuradas en no enumerables, esta propiedad no será devuelta por el bucle u objeto "para ... en".Método Keys ().

Este blog demostrará las enumerables propiedades en JavaScript.

¿Cuáles son las propiedades enumerables en JavaScript??

En JavaScript, una propiedad enumerable es una propiedad de un objeto a la que se puede acceder y recorrer utilizando un "para ... en"Loop o el"Objeto.llaves()" método. Todas las propiedades/claves de un objeto creado por el inicializador de propiedades o la asignación simple son enumerables a menos que estén explícitamente/específicamente establecidas en no enumerables utilizando el "Objeto.DefineProperty ()"Método y su atributo"enumerable: falso".

Para verificar si las propiedades del objeto son enumerables o no enumerables, use el "PropertyIsenumerable ()" método. Da un valor booleano "verdadero", Si la propiedad proporcionada es enumerable más, sale"FALSO".

Ejemplo

Crear un objeto "alumno"Y definir sus propiedades que son por defecto las propiedades enumerables:

constante constante =
Nombre: 'Steven',
Edad: 18,
Estándar: 9
;

Crear una propiedad no enumerable del objeto "alumno" utilizando el Objeto.DefineProperty ()"Método estableciendo el atributo enumerable a"FALSO":

Objeto.DefineProperty (estudiante, 'hobby',
Valor: "Cricket",
enumerable: falso,
);

Cree otra propiedad enumerable del objeto estableciendo su "enumerable" atribuir a "verdadero":

Objeto.DefineProperty (estudiante, 'Rollno',
Valor: 15,
enumerable: verdadero,
);

Verifique las propiedades "enumerables" y "no enumerables" del objeto utilizando el "PropertyIsenumerable ()" método:

consola.log ("'Nombre' es enumerable" + Estudiante.PropertyIsenumerable ('Nombre'));
consola.log ("'edad' es enumerable" + estudiante.PropertyIsenumerable ('edad'));
consola.log ("'estándar' es enumerable" + estudiante.PropertyIsenumerable ('estándar'));
consola.log ("'Hobby' es enumerable" + Estudiante.PropertyIsenumerable ('Hobby'));
consola.log ("'Rollno' es enumerable" + Estudiante.PropertyIsenumerable ('Rollno'));

Como puedes ver el "pasatiempo"Se muestra como"FALSO", Significa que es una propiedad no enumerable del objeto"alumno":

También puede verificar que las propiedades del objeto son enumerables o no enumerables utilizando el "para ... en"Loop o el"Objeto.llaves()" método. Porque estos métodos solo iteran las propiedades enumerables y no consideran los no enumerables.

Llama a "para ... en"Loop para imprimir todas las teclas del objeto:

para (constante clave en el estudiante)
consola.log (clave);

Se puede observar que el "pasatiempo"No es iterado por el para ... en bucle, ya que es una propiedad no enumerable:

Ahora, usa el "Objeto.llaves()"Método para iterar el objeto:

consola.Log (objeto.llaves (estudiante));

Producción

Además, el "Objeto.getownpropertynames ()El método se puede usar para obtener todos los nombres de propiedad (enumerables o no enumerables) de un objeto:

Objeto.GetownPropertynames (estudiante);

La salida muestra todas las propiedades del objeto, incluida enumerable o no enumerable:

Eso se trata de las enumerables propiedades en JavaScript.

Conclusión

"Propiedad enumerable"De los objetos son las propiedades creadas por el inicializador de propiedades o asignaciones simples que son enumerables a menos que estén explícitamente establecidas en no enumerables. Las propiedades enumerables son accesibles o iteradas utilizando el "para ... en"Loop o el"Objeto.llaves()" método. Mientras que la propiedad no enumerable no será devuelta por el For ... en bucle u objeto.Método Keys (). Para obtener todos los atributos del objeto, incluidos enumerables o no enumerables, use el "Objeto.getownpropertynames ()" método. Este blog demostró las enumerables propiedades en JavaScript.