this в классе javascript
Я новичок в 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 шт):
this - можно понять как инстнс данного класа. То есть если создать объект по прототипу этого класа, this будет этим самым объектом, this.calcArea() - методом этого объекта, а this.height - пропом этого объекта.
const rect = new Rectangle(500, 500)
Здесь this - это rect, this.height = 500, а метод calcArea будет напрямую работать со значениями, полученными выше при присваивании и вернет 500 * 500.