ExpertiDict

JavaScript · Avançado · Português · Técnico

descritor de propriedade

/desˈkɾitoʁ dʒi pɾopɾieˈdadʒi/substantivo

Objeto que descreve os atributos de uma propriedade: value, writable, enumerable e configurable, ou get e set. É definido e lido por Object.defineProperty e Object.getOwnPropertyDescriptor.

Onde usar

Usado para criar propriedades somente leitura, ocultas ou calculadas. Em code review, aparece em bibliotecas e polyfills, onde os atributos omitidos no defineProperty valem false.

Em código

const o = {};
Object.defineProperty(o, 'id', {
  value: 7,
  enumerable: false,
});
console.log(o.id, Object.keys(o)); // 7 []
o.id = 8; // ignorado, sem strict mode
console.log(o.id); // 7

Exemplos

Usei o descritor de propriedade para deixar o campo somente leitura.

Com enumerable falso, o campo some do Object.keys.

Cuidado

Esquecer que defineProperty assume writable, enumerable e configurable como false quando omitidos.

Sinônimos

property descriptor

Veja também

Todos os termos de JavaScript