Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как работает get set в классе? (https://javascript.ru/forum/dom-window/78187-kak-rabotaet-get-set-v-klasse.html)

Кирилл Margheriti 07.08.2019 12:36

Как работает get set в классе?
 
class User {

    constructor(name) {
        // вызывает сеттер
        this.name = name;
    }

    get name() {
        return this._name;
    }

    set name(value) {
        if (value.length < 4) {
            alert("Имя слишком короткое.");
            return;
        }
        this._name = value;
    }

}

let user = new User("Иван");
alert(user.name); // Иван

user = new User(""); // Имя слишком короткое.



Он проверяет длинну имени.
Расскажите пожалуйста как работает данный код.
В частности
constructor(name) {
        // вызывает сеттер
        this.name = name;
    }


Если можно по порядку

Заранее спасибо

Кирилл Margheriti 07.08.2019 12:37

constructor(name) {
        // вызывает сеттер
        this.name = name;
    }


Я просто не могу понять как данный код ссылается на set или get

Rise 07.08.2019 15:03

Цитата:

Сообщение от Кирилл Margheriti
Я просто не могу понять как данный код ссылается на set или get

Также как это было бы с обычным методом:
class User {
    constructor() {
        this.name();
    }
    name() {
        // ...
    }
}


Часовой пояс GMT +3, время: 13:24.