このES6クラスでget
はどういう意味ですか?この関数を参照するにはどうすればよいですか?どのように使用すればよいですか?
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
get area() {
return this.calcArea()
}
calcArea() {
return this.height * this.width;
}
}
これは、関数がプロパティのゲッターであることを意味します。
それを使用するには、他のプロパティと同じように名前を使用します。
'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);
get
キーワードは、オブジェクトプロパティを関数にバインドします。このプロパティが検索されると、ゲッター関数が呼び出されます。次に、getter関数の戻り値によって、返されるプロパティが決まります。
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
OO JavaScriptのオブジェクトとクラスと同じです。MDNDocsの get
から:
get
構文は、オブジェクトプロパティを、そのプロパティが検索されたときに呼び出される関数にバインドします。