JS: SET, GET

LH
На сайте с 26.09.2013
Offline
89
605

Добрый вечер!

Чем отличается сеттер/геттер от обычной функции??

Обычная функция тоже же прекрасно работает.

class User {

constructor(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
set fullName(newValue) {
[this.firstName, this.lastName] = newValue.split(' ');
}
}
Aisamiery
На сайте с 12.04.2015
Offline
293
#1

обычные функции надо вызывать явно, сеттеры же работают неявно

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
danforth
На сайте с 18.12.2015
Offline
153
#2

Ещё иногда скрывают детали реализации, например если сделать

User.firstName = "john", то можно привести первую букву в верхний регистр, но порождает не очевидное поведение. Их нужно с умом использовать, и не во всех проектах.

Junior Web Developer

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий