Maison >interface Web >js tutoriel >Explication détaillée des attributs de propriété des objets JavaScript_Connaissances de base
La propriété d'un objet en JavaScript possède trois attributs :
1.writable. Si la propriété est accessible en écriture.
2.énumérable. Indique si la propriété sera énumérée lors de l'utilisation de l'instruction for/in.
3. configurable. Si les propriétés de cette propriété peuvent être modifiées et si la propriété peut être supprimée.
Dans la norme ECMAScript 3, les valeurs des trois propriétés ci-dessus sont vraies et ne peuvent pas être modifiées : la propriété de l'objet nouvellement créé est inscriptible, énumérable et supprimable dans la norme ECMAScript 5, elle peut être transmise ; Objet de description de propriété (descripteur de propriété) pour configurer et modifier ces propriétés.
Si les informations sur la valeur de la propriété sont également considérées comme l'attribut de la propriété, la propriété dans l'objet a quatre attributs : valeur, inscriptible, énumérable et configurable.
Pour une propriété définie avec les méthodes getter et setter, puisqu'elle n'a pas d'attribut inscriptible (le fait que la propriété soit accessible en écriture dépend de l'existence ou non de la méthode setter), cette propriété a également quatre attributs : get, set, enumerable et configurable. - get et la valeur de l'attribut set est fonction.
Récupérer les propriétés de la propriété de l'objet
Dans le standard ECMAScript 5, vous pouvez obtenir les informations de propriété d'une propriété de l'objet lui-même via Object.getOwnPropertyDescriptor() :
Définir les propriétés de la propriété de l'objet
Dans le standard ECMAScript 5, vous pouvez définir la propriété d'une propriété de l'objet lui-même via Object.defineProperty() :
Si la propriété est nouvellement créée, toutes les valeurs de propriété ignorées sont fausses ou indéfinies.
Si la propriété existe déjà, toutes les valeurs de propriété ignorées restent inchangées.
Définir les propriétés des objets par lots
Si vous devez définir les propriétés de plusieurs propriétés à la fois, vous pouvez utiliser l'instruction Object.defineProperties(). Cette instruction renverra l'objet modifié.
Lors de la modification des attributs de propriété, les règles suivantes doivent être respectées. Si les règles ne sont pas respectées, JavaScript signalera une TypeError :
Si l'objet n'est pas extensible, vous pouvez uniquement modifier les propriétés des propriétés existantes et ne pouvez pas ajouter de nouvelles propriétés.
Si l'attribut configurable de la propriété est faux, les valeurs des attributs configurables et énumérables ne peuvent pas être modifiées. Pour l'attribut inscriptible, vous pouvez le changer de vrai à faux, mais vous ne pouvez pas le changer de faux à vrai. . Si une propriété est définie par des getters et des setters, les méthodes getter et setter ne peuvent pas être modifiées.
Si l'attribut configurable et l'attribut inscriptible de la propriété sont tous deux faux, la valeur de la propriété ne peut pas être modifiée. Si l'attribut inscriptible de la propriété est faux mais que son attribut configurable est vrai, la valeur de la propriété peut toujours être modifiée.