Um guia básico para propriedades enumeráveis ​​de um objeto em JavaScript

Resumo : neste tutorial, você aprenderá sobre propriedades enumeráveis ​​de JavaScript de um objeto.

Introdução às propriedades enumeráveis ​​do JavaScript

Propriedades enumeráveis ​​são iteradas usando o for...inloop ou Objects.keys()método.

Em JavaScript, um objeto é uma lista não ordenada de pares de valores-chave. A chave geralmente é uma string ou um símbolo . O valor pode ser um valor de qualquer tipo primitivo (string, booleano, número, indefinido ou nulo), um objeto ou uma função .

O exemplo a seguir cria um novo objeto usando a sintaxe literal do objeto :

const person = {
    firstName: 'John',
    lastName: 'Doe
};Linguagem de código:  PHP  ( php )

O personobjeto tem duas propriedades: firstNamee lastName.

Uma propriedade de objeto possui vários atributos internos , incluindo value, e . Consulte as propriedades do objeto para obter mais detalhes.writableenumerableconfigurable

O enumerableatributo determina se uma propriedade está acessível ou não quando as propriedades do objeto são enumeradas usando o for...inloop ou Object.keys()método.

Por padrão, todas as propriedades criadas por meio de uma atribuição simples ou de um inicializador de propriedade são enumeráveis. Por exemplo:

const person = {
    firstName: 'John',
    lastName: 'Doe'
};

person.age = 25;

for (const key in person) {
    console.log(key);
}
Linguagem de código:  JavaScript  ( javascript )

Saída:

firstName
lastName
age

Neste exemplo:

  • As firstNamee lastNamesão propriedades enumeráveis ​​porque são criadas por meio de um inicializador de propriedade.
  • A agepropriedade também é enumerável porque é criada por meio de uma atribuição simples.

Para alterar o enumerableatributo interno de uma propriedade, você usa o Object.defineProperty()método. Por exemplo:

const person = {
    firstName: 'John',
    lastName: 'Doe'
};

person.age = 25;

Object.defineProperty(person, 'ssn', {
    enumerable: false,
    value: '123-456-7890'
});

for (const key in person) {
    console.log(key);
}
Linguagem de código:  JavaScript  ( javascript )

Saída:

firstName
lastName
age

Neste exemplo, a ssnpropriedade é criada com o enumerablesinalizador definido como false, portanto não aparece no for...inloop.

ES6 fornece um método propertyIsEnumerable()que determina se uma propriedade é ou não enumerável. Retorna se truea propriedade for enumerável; de outra forma false. Por exemplo:

const person = {
    firstName: 'John',
    lastName: 'Doe'
};

person.age = 25;

Object.defineProperty(person, 'ssn', {
    enumerable: false,
    value: '123-456-7890'
});


console.log(person.propertyIsEnumerable('firstName')); // => true
console.log(person.propertyIsEnumerable('lastName')); // => true
console.log(person.propertyIsEnumerable('age')); // => true
console.log(person.propertyIsEnumerable('ssn')); // => false
Linguagem de código:  JavaScript  ( javascript )

Resumo

  • Uma propriedade é enumerável se tiver o enumerableatributo definido como true. O obj.propertyIsEnumerable()determina se uma propriedade é ou não enumerável.
  • Uma propriedade criada por meio de uma atribuição simples ou de um inicializador de propriedade é enumerável.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *