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

2022-08-30 03:05:10

这个ES6类意味着什么?如何引用此函数?我应该如何使用它?get

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

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

  calcArea() {
    return this.height * this.width;
  }
}

答案 1

这意味着该函数是属性的 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);

答案 2

总结:

关键字会将对象属性绑定到函数。现在查找此属性时,将调用 getter 函数。然后,getter 函数的返回值确定返回的属性。get

例:

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