Objeto: propiedades enumerables
En los objetos las propiedades enumerables son las que pueden ser recorridas por el bucle for .. in , bien las que aparecen en la lista de propiedades devueltas por keys().
Son propiedades que pueden recorrerse o iterarse, se pueden leer sus nombres y propiedades.
Para saber si una propiedad de un objeto concreto es enumerable podemos urilizar el método propertyIsEnumerable(nombreprop). Este método devuelve true si la propiedad que se le pasa cn el rgumento es o no enumerabe. Las propiedades heredadadas no se deben comprobar, siempre devolverán falseal no ser propiedades locales del objeto.
var ficha;
ficha = {
nombre: 'juan',
apellido1 :"García",
apellido2 :"Pérez",
edad : 15,
grupo: "M1"
}
console.log(ficha.propertyIsEnumerable("grupo")) //true
Object.defineProperty(ficha, "grupo", {enumerable:false} ) ;
console.log(ficha.propertyIsEnumerable("grupo")) //false;
Cuando se crea un objeto mediante una expresión y se asignan las propiedades directamente, estas son enumerables por defecto.
Cmo ves en el ejemplo esta característica delas propiedades se puede modificar mediante los métodos Object.defineProperty() y Object.defineProperties().