Как добавить метод в объект javascript?

Ответы
Аватар пользователя Вячеслав Межуревский

Для добавления метода к объекту, необходимо описать его. Рассмотрим пример.

const person = {
    firstName: 'Ivan',
    lastName: 'Petrov',
}

/* 
Предположим нам необходим метод, который будет возвращать 
полное имя пользователя 'Ivan Petrov', реализуем его.
*/
const person = {
    firstName: 'Ivan',
    lastName: 'Petrov',
    fullName: function() {
        return `${this.firstName} ${this.lastName}`
    }
}
console.log(person.fullName());
// -> Ivan Petrov

Как правило, методу объекта обычно требуется доступ к информации, хранящейся в объекте, для выполнения своей работы. Выше в примере мы использовали ключевое слово this для доступа к данным имени и фамилии в объекте person. По сути в методе fullName() this - это наш объект person. Конечно можно было использовать и person.firstName для доступа к данным, но такой вариант считается не надежным. Если скопировать наш person в другую переменную и вызвать метод снова, будет ошибка.

let person = {
    firstName: 'Ivan',
    lastName: 'Petrov',
    fullName: function() {
        // не используем this
        return `${person.firstName} ${person.lastName}`
    }
};

// копируем
let employe = person;

// удаляем person
person = null;

console.log(employe.fullName());
// -> Cannot read properties of null (reading 'firstName')
0 0
Добавьте ваш ответ

Рекомендуемые курсы

middlewares
redux-forms
actions
reselect
5 часов
Посмотреть
утверждения
jest
матчеры
юнит-тесты
14 часов
Посмотреть
состояние
JSX
компоненты
производительность
26 часов
Посмотреть