Геттеры и сеттеры

Через геттер можно создать свойство, которое может динамически возвращать значение. Геттер создаётся через метод get().

class Customer {

    constructor(name, lastName) {
        this.name = name;
        this.lastName = lastName;
    }

    // Создание геттера fullName
    get fullName() {
        return this.name + " " + this.lastName;
    }

}

let customer = new Customer("Иван", "Иванов");
customer.fullName; // Иван Иванов

Переопределить свойство fullName нельзя, т.к. данное свойство только возвращает значение.

let customer = new Customer("Иван", "Иванов");
customer.fullName; // Иван Иванов

/* Попытка переопределить свойство */
customer.fullName = "Мария Иванова";
customer.fullName; // Иван Иванов

Переопределить свойство fullName можно через сеттер, которая создаётся через ключевое слово set.

class Customer {

    constructor(name, lastName) {
        this.name = name;
        this.lastName = lastName;
    }

    // Геттер fullName
    get fullName() {
        return this.name + " " + this.lastName;
    }

    // Сеттер fullName
    set fullName(value) {
        [this.name, this.lastName] = value.split(" ");
    }

}

let customer = new Customer("Иван", "Иванов");
customer.fullName; // Иван Иванов

customer.fullName = "Мария Иванова";
customer.fullName; // Мария Иванова