Que signifie get
dans cette classe ES6? Comment référencer cette fonction? Comment devrais-je l'utiliser?
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
get area() {
return this.calcArea()
}
calcArea() {
return this.height * this.width;
}
}
Cela signifie que la fonction est un getter pour une propriété.
Pour l'utiliser, il suffit d'utiliser son nom comme n'importe quelle autre propriété:
'use strict'
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
get area() {
return this.calcArea()
}
calcArea() {
return this.height * this.width;
}
}
var p = new Polygon(10, 20);
alert(p.area);
Le mot clé get
liera une propriété d'objet à une fonction. Lorsque cette propriété est recherchée, la fonction d'accesseur en lecture est appelée. La valeur de retour de la fonction getter détermine ensuite quelle propriété est renvoyée.
const person = {
firstName: 'Willem',
lastName: 'Veen',
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
console.log(person.fullName);
// When the fullname property gets looked up
// the getter function gets executed and its
// returned value will be the value of fullname
C'est un getter, identique aux objets et aux classes dans OO JavaScript. À partir des documents MDN pour get
:
La syntaxe
get
lie une propriété d'objet à une fonction qui sera appelée lorsque cette propriété sera recherchée.