-1

Я новичок в javascipt и разбираюсь с контекстом и классами, с контекстом все вроде понятно, а вот с классами возникли вопросы

Почему в конструкторе класса мы присваиваем переменные через this.variable, и вызываем функции через this.function, как в этом примере?

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

getArea() { return this.calcArea(); }

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

Через this можно объявить (присвоить) переменную экземпляру класса? Можете объяснить что происходит при вызове this.height и что происходит с классом? Как присваивается переменная?

1 Answers1

0

this - можно понять как инстнс данного класа. То есть если создать объект по прототипу этого класа, this будет этим самым объектом, this.calcArea() - методом этого объекта, а this.height - пропом этого объекта.

const rect = new Rectangle(500, 500)

Здесь this - это rect, this.height = 500, а метод calcArea будет напрямую работать со значениями, полученными выше при присваивании и вернет 500 * 500.