O que são propriedades enumeráveis ​​em JavaScript

O que são propriedades enumeráveis ​​em JavaScript
““Propriedade enumerável”É uma propriedade que pode ser recuperada e enrolada através da utilização de um“para… in”Loop ou o“Objeto.chaves()”Método. Por padrão, todas as propriedades de um objeto são enumeráveis, mas tornar as propriedades que não são inebriantes podem impedir que sejam modificadas ou excluídas acidentalmente e tornam o código mais legível. Se as propriedades do objeto forem definidas como não-inumeráveis, esta propriedade não será devolvida pelo loop ou objeto "para ... in".Método Keys ().

Este blog demonstrará as propriedades enumeráveis ​​em JavaScript.

O que são propriedades enumeráveis ​​em JavaScript?

Em JavaScript, uma propriedade enumerável é uma propriedade de um objeto que pode ser acessado e loopado usando um “para… in”Loop ou o“Objeto.chaves()”Método. Todas as propriedades/chaves de um objeto criadas pelo inicializador da propriedade ou atribuição simples são enumeráveis, a menos que sejam explicitamente/especificamente definidas como não enumeráveis, utilizando o “Objeto.DefineProperty ()”Método e seu atributo“enumerável: falso”.

Para verificar se as propriedades do objeto são enumeráveis ​​ou não enumeráveis, use o “PropertyIsEnumerable ()”Método. Dá um valor booleano “verdadeiro”, Se a propriedade fornecida for enumerável, ele será produzido“falso”.

Exemplo

Crie um objeto “estudante”E definir suas propriedades que são por padrão propriedades enumeráveis:

const student =
Nome: 'Steven',
Idade: 18,
Padrão: 9
;

Crie uma propriedade não entusiasmada do objeto “estudante”Usando o Objeto.DefineProperty ()”Método definindo o atributo enumerável para“falso”:

Objeto.DefineProperty (estudante, 'hobby',
Valor: "Cricket",
enumerável: falso,
);

Crie outra propriedade enumerável do objeto, definindo seu “enumerável" atribuir a "verdadeiro”:

Objeto.DefineProperty (estudante, 'rollno',
Valor: 15,
enumerável: verdadeiro,
);

Verifique as propriedades "enumeráveis" e "não enumeráveis" do objeto usando o "PropertyIsEnumerable ()”Método:

console.log ("'nome' é enumerável" + aluno.PropertyIsEnumerable ('Nome'));
console.log ("'idade' é enumerável" + aluno.propriedadesenumerable ('idade'));
console.log ("'padrão' é enumerável" + aluno.PropertyIsEnumerable ('Standard'));
console.log ("'hobby' é enumerável" + aluno.propriedadesenumerable ('hobby'));
console.log ("'rollno' é enumerável" + aluno.PropertyIsEnumerable ('rollno'));

Como você pode ver o “passatempo"É exibido como"falso”, Significa que é uma propriedade não inebriante do objeto“estudante”:

Você também pode verificar se as propriedades do objeto são enumeráveis ​​ou não enumeráveis ​​usando o “para… in”Loop ou o“Objeto.chaves()”Método. Porque esses métodos apenas iteram as propriedades enumeráveis ​​e não consideram o não-enumerável.

Ligar para "para… in”Faça um loop para imprimir todas as chaves do objeto:

para (const Key no aluno)
console.log (chave);

Pode -se observar que o “passatempo”Não é iterado pelo para… em loop, pois é uma propriedade não inebriante:

Agora, use o “Objeto.chaves()”Método para iterar o objeto:

console.log (objeto.chaves (aluno));

Saída

Além disso, o “Objeto.getOwnPropertyNames ()”O método pode ser usado para obter todos os nomes de propriedades (enumeráveis ​​ou não enumeráveis) de um objeto:

Objeto.getwnPropertyNames (estudante);

A saída exibe todas as propriedades do objeto, incluindo enumerável ou não enumerável:

Isso é tudo sobre as propriedades enumeráveis ​​em JavaScript.

Conclusão

““Propriedade enumerável”Dos objetos são as propriedades criadas pelo inicializador da propriedade ou atribuições simples que são enumeráveis, a menos que sejam explicitamente definidas como não inebriantes. As propriedades enumeráveis ​​são acessíveis ou iteradas usando o “para… in”Loop ou o“Objeto.chaves()”Método. Embora a propriedade não enumerável não seja devolvida pelo… em loop ou objeto.Método Keys (). Para obter todos os atributos do objeto, incluindo enumerável ou não enumerável, use o “Objeto.getOwnPropertyNames ()”Método. Este blog demonstrou as propriedades enumeráveis ​​em JavaScript.