Это тривиальный пример, но он показывает, что classifyPark
обращается к переменным из класса Item
с помощью this
.
console.log(`${this.name} park is sized: ${classification.get(this.size)} and has ${this.numberoftrees} trees.`)
В "реальном мире" методы класса обычноболее сложный и может использовать переменные класса и другие методы класса, чтобы делать более сложные вещи.
Еще один тривиальный пример, но, возможно, что-то более полезное
class Circle {
constructor(radius) {
this.radius = radius;
}
area() {
return 3.14*this.radius*this.radius;
}
circumference() {
return 3.14*this.radius;
}
}
const circle = new Circle();
console.log(circle.area());
console.log(circle.radius());
Идея поставить area
и circumference
на Circle
вместо того, чтобы иметь вспомогательные функции, заключается в инкапсуляции логики.Круг знает, как рассчитать свой радиус и окружность.