类中函数前面的“ get”关键字是什么?

get在 ES6课程中意味着什么?如何引用这个函数?我该怎么用?

class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}


get area() {
return this.calcArea()
}


calcArea() {
return this.height * this.width;
}
}
73535 次浏览

它意味着函数是属性的 getter 函数。

要使用它,只需像使用其他属性一样使用它的名称:

'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);

它是 getter,与 OO JavaScript 中的对象和类相同:

get语法将对象属性绑定到查找该属性时将调用的函数。

摘要:

get关键字将一个对象属性绑定到一个函数。现在查找此属性时,将调用 getter 函数。然后,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