Почему я не могу изменить объект, полученный через метод?
Учу после джавы джаваскрипт и не могу понять, почему я не могу изменить арей, который получил через гет метод?
class Car {
movements = [124, 32, 123, 50, 12];
getMovements() {
return this.movements;
}
}
const ferrari = new Car();
ferrari.movements = [1]; // Ничего не меняется
console.log(ferrari.movements);
Если я явно укажу, что это геттер, то могу изменить уже объект.
get getMovements() {
return this.movements;
}
Почему это не работает с обычным методом?
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Вы, вероятно, хотели спросить вот про это:
class Car {
_movements = [124, 32, 123, 50, 12];
get movements() {
return this._movements;
}
}
const ferrari = new Car();
console.log(ferrari.movements);
ferrari.movements = [1]; // Ничего не меняется
console.log(ferrari.movements);
Надо так:
class Car {
_movements = [124, 32, 123, 50, 12];
get movements() {
return this._movements;
}
set movements(value) {
this._movements = value;
}
}
const ferrari = new Car();
console.log(ferrari.movements);
ferrari.movements = [1]; // меняется
console.log(ferrari.movements);