Методы объекта

Методы - это свойства, хранящие в себе функции. Методы всегда глаголы - отвечают на вопросы: Что делать? Что сделать?

Создание методов

До принятия стандарта ES2015 (ES6) метод в объекте выглядел как обычное свойство (пара ключ: значение), только значением была функция.

// ES5 method
const object = {
    getTotal: function(...values) {
        return values.reduce((memo, num) => memo + num, 0)
    }
}

С 2015 года, как стал принят стандарт ES6 запись метода в объекте стала проще:

// ES6 method
const object = {
    function getTotal(...values) {
        return values.reduce((memo, num) => memo + num, 0)
    }
}

Теперь нет нужды указывать ключ через двоеточие с функцией, имя ключа и станет именем функции и ключевое слово function тоже опущено.

Добавление, изменение и удаление методов

Аналогично обычных свойств объекта.

Хотя бы потому, что методы - это тоже свойства, только их значения всегда функции.

// to add new methods
object.getOne = function(){
    console.log('I am one');
}
object['getAll'] = function () {
    console.log('I am all');
};

console.log(object); // { getOne: ƒ, getAll: ƒ}

// to update methods
object.getOne = function(){
    return 'I am one';
}
object['getAll'] = function () {
    return 'I am all';
};

// to delete methods
delete object.getOne;
delete object['getAll'];

console.log(object); // { }

Last updated