de ES2015, nous avons la possibilité d’utiliser des getters et des setters pour définir les propriétés de nos objets. Dans ce message, nous comprendrons comment ils travaillent.
Ce contenu a publié le premier sur ma lettre d’information, la semaine après la publication de la lettre d’information publique sur mon blog, si Vous voulez être le premier à lire S’abonner
Avant de lire Ce message que je recommande de lire:
- compréhensible ceci en JavaScript
- Comprendre les types en JavaScript
- Comprendre les objets en JavaScript
prêt?
À ce moment-là, vous devez connaître le comportement et les attributs de la Propriétés des objets en JavaScript.
À ce stade, il convient de préciser que les objets ont trois types de propriétés:
- Propriétés de données: Propriétés normales, qui contiennent des données.
- Propriétés de l’accesseur: Propriétés qui modifient le comportement standard de
]
et]
- _Intations propriétaires: _ Propriétés linguistiques internes, telles que
]
,]
ou
entre autres.
Quels sont les getters et les Setters
une fonction qui obtient une valeur d’une propriété est appelée getter et qui définit la valeur d’un propriété qu’elle s’appelle setter.
Cette fonctionnalité a été implémentée dans ES2015 et peut modifier le fonctionnement normal d’établissement ou d’obtention de la valeur d’une propriété, il est appelé propriétés accessoires.
Opération
Parfois, nous voulons des valeurs basées sur d’autres valeurs, car les accesseurs de données sont assez utiles.
Pour les créer, nous utilisons les mots-clés Get and Set
const obj = { get prop() { return this.__prop__; }, set prop(value) { this.__prop__ = value * 2; },};obj.prop = 12;console.log(obj.prop); //24
Nous créons un objet, avec une seule propriété, qui a un getter et un setter. De cette manière, chaque fois que nous définissons une valeur pour accéder, il se multipliera par deux.
Remarque: Utilisez un accessoire par convention, mais cela n’implique pas qu’il s’agit d’une valeur particulière, c’est une valeur normale.
Un autre moyen de créer une propriétés d’accesseur utilise explicitement l’objet.defineProperty
« L’avantage que nous avons dans De cette façon, est que nous pouvons définir les attributs que nous voulons avoir la propriété.
Caractéristiques
Un accesseur de propriété, illicite uniquement les attributs configurables et _Seublerables, nous voyons vos attributs que nous voyons va voir cela.
Ceci nous conduit à la valeur ne peut pas être écrasé si la sécheuse de la fonction n’est pas utilisée ( Il est recommandé de définir à la fois Setter et Getter).
Si le mode strict n’est pas utilisé et tente de modifier la valeur sera une erreur silencieuse.
Une autre caractéristique importante est que, si elle est réglée u Propriété na avec le même nom dans une portée supérieure de la chaîne prototype, l’accesseur de propriété sera la propriété qu’il prédomine.
Voyons un dernier exemple