Getters и setters — это специальные методы, которые позволяют тебе определить вычисляемые или контролируемые свойства объектов. Снаружи они выглядят как обычные свойства, но внутри они выполняют логику при обращении или присваивании.
Getter запускает функцию, когда свойство читается:
get fullName() {
return this.firstName + " " + this.lastName;
}
Setter перехватывает значение, когда свойство записывается:
set fullName(value) {
[this.firstName, this.lastName] = value.split(" ");
}
Оба определяются с помощью ключевых слов get и set внутри класса или объектного литерала.
set age(value) {
if (value < 0) throw new Error("Age cannot be negative");
this._age = value;
}
Здесь setter проверяет входные данные перед сохранением в приватное поле _age, предотвращая попадание некорректных данных в объект.
Getters и setters позволяют тебе изменить внутреннюю реализацию свойства без нарушения внешнего кода, который его использует. Это делает твои объекты более надёжными, поддерживаемыми и соответствующими принципам инкапсуляции — ключевой концепции в объектно-ориентированном проектировании.
Getters выполняют логику при чтении свойства, а setters выполняют логику при записи в свойство, позволяя тебе перехватывать и контролировать доступ к свойствам.
Новый — ещё не проверен сообществом
Вы