Descripteurs de propriété JavaScript

Une explication des descripteurs de propriété et de leur utilité

Tout objet en JavaScript a un ensemble de propriétés, et chacune de ces propriétés a undescripteur.

C'est un objet qui définit un comportement de propriété et ses propres propriétés.

De nombreuses méthodes statiques Object interagissent avec lui. Ces méthodes comprennent:

Voici un exemple d'objet descripteur de propriété:

{
  value: 'Something'
}

C'est le plus simple.valueest la valeur de la propriété, dans une définition clé-valeur. Cekeyest définie comme la clé d'objet, lorsque vous définissez cette propriété dans un objet:

{
  breed: {
    value: 'Siberian Husky'
  }
}

Exemple:

const animal = {}
const dog = Object.create(animal, {
  breed: {
    value: 'Siberian Husky'
  }
});
console.log(dog.breed) //'Siberian Husky'

Vous pouvez transmettre des propriétés supplémentaires pour définir chaque propriété d'objet différente:

  • évaluer: La valeur de la propriété
  • inscriptible: true la propriété peut être modifiée
  • configurable: si false, la propriété ne peut pas être supprimée ni aucun attribut ne peut être modifié, sauf sa valeur
  • énumérable: true si la propriété est énumérable
  • obtenir: une fonction getter pour la propriété, appelée lors de la lecture de la propriété
  • ensemble: une fonction de définition de la propriété, appelée lorsque la propriété est définie sur une valeur

writable,configurableetenumerabledéfinir le comportement de cette propriété. Ils ont une valeur booléenne, et par défaut ils sont tousfalse.

Exemple:

const animal = {}
const dog = Object.create(animal, {
  breed: {
    value: 'Siberian Husky',
    writable: false
  }
});
console.log(dog.breed) //'Siberian Husky'
dog.breed = 'Pug' //TypeError: Cannot assign to read only property 'breed' of object '#<Object>'

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: