Подтвердить что ты не робот

Что такое ключевое слово "получить" перед функцией в классе?

Что означает get в этом классе ES6? Как я могу ссылаться на эту функцию? Как его использовать?

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

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

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

Ответ 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, то же, что и объекты и классы в JavaScript OO. Из MDN Docs для get:

Синтаксис get связывает свойство объекта с функцией, которая будет вызываться при поиске этого свойства.