Безопасность на уровне табличных столбцов

Извините, что воскресил старый вопрос, но я подумал, что могу внести пару очень простых примеров и объяснений для «манекенов». Ни один из других ответов, опубликованных таким образом, не иллюстрирует синтаксис, как первый пример MDN guide , который примерно такой же простой, как можно получить.

Getter:

var settings = {
    firstname: 'John',
    lastname: 'Smith',
    get fullname() { return this.firstname + ' ' + this.lastname; }
};

console.log(settings.fullname);

..., конечно, будет записывать John Smith. A getter ведет себя как свойство переменной объекта, но предлагает гибкость функции для вычисления возвращаемого значения на лету. Это в основном причудливый способ создания функции, которая не требует () при вызове.

Setter:

var address = {
    set raw(what) {
        var loc = what.split(/\s*;\s*/),
        area = loc[1].split(/,?\s+(\w{2})\s+(?=\d{5})/);

        this.street = loc[0];
        this.city = area[0];
        this.state = area[1];
        this.zip = area[2];
    }
};

address.raw = '123 Lexington Ave; New York NY  10001';
console.log(address.city);

... будет записывать New York на консоль. Как и геттеры, сеттеры вызываются с тем же синтаксисом, что и установка значения свойства объекта, но являются еще одним причудливым способом вызова функции без ().

См. this jsfiddle для более тщательного, возможно, более практического примера. Передача значений в установщик объекта запускает создание или совокупность других объектов объекта. В частности, в примере jsfiddle передача массива чисел приводит к тому, что сеттер вычисляет средний, средний, режим и диапазон; затем устанавливает свойства объекта для каждого результата.

0
задан Alvaro 18 January 2019 в 16:06
поделиться