L’énumération des propriétés en JavaScript – 30 secondes de code

Dans la plupart des cas, les propriétés des objets sont énumérables par défaut, sauf s’il s’agit de symboles. Cela signifie que vous pouvez utiliser la fonction for...in pour itérer sur les propriétés d’un objet. De même, les propriétés énumérables apparaissent dans les méthodes d’objet qui énumèrent les propriétés d’un objet. Un exemple de ceci est la méthode Object.keys() qui omettra les propriétés qui ne sont pas énumérables. Enfin, lorsque vous utilisez l’opérateur d’étalement d’objet (...), seules les propriétés énumérables sont copiées dans le nouvel objet.

const person = {
  name: 'John',
  surname: 'Doe',
  age: 30,
  socialSecurityNumber: '123-45-6789',
};

Object.defineProperty(person, 'socialSecurityNumber', {
  enumerable: false,
});

person.hasOwnProperty('socialSecurityNumber'); 
person.propertyIsEnumerable('socialSecurityNumber'); 

Object.keys(person); 
Object.getOwnPropertyNames(person);


const clone = { ...person };
clone.socialSecurityNumber; 

Pour créer une propriété non énumérable, vous pouvez utiliser Object.defineProperty() avec le descripteur approprié. Vous pouvez vérifier l’existence de la propriété à l’aide de la commande Object.prototype.hasOwnProperty() et son caractère énumérable, en utilisant Object.prototype.propertyIsEnumerable(). De plus, contrairement aux symboles, les propriétés non énumérables apparaîtront lors de l’utilisation de l’option Object.getOwnPropertyNames().

Laisser un commentaire