Sé que las propiedades del objeto tienen 3 banderas y con una de ellas puedo establecer una determinada propiedad no enumerable. Pero en todos los demás casos, ¿se pueden enumerar todos los tipos de datos?

0
Zoltán Parragi 31 jul. 2020 a las 12:27

1 respuesta

La mejor respuesta
  • De forma predeterminada, todas las propiedades creadas mediante asignación simple o mediante un inicializador de propiedad es enumerable independientemente de los datos tipo.

  • Las propiedades definidas mediante métodos como Object.defineProperty, Object.defineProperties son no enumerables de forma predeterminada.

Por ejemplo:

1.Iniciador de propiedades (enumerable por defecto):

const obj = { a: 'foo', b: 123, c: {} };

2.Asignación simple (por defecto enumerable):

obj.a = 'foo'
obj.b = 123
obj.c = {}

3.Métodos del objeto (por defecto no enumerables):

obj = {};  
Object.defineProperties(obj, 
    {   a: {   value: 'foo' },
    {   b: {   value: 123 },
    {   c: {   value: {} }
);  

Más referencias aquí.

1
Dexter 31 jul. 2020 a las 15:30