Встречается на собеседованиях • сегодня

Что происходит при обращении к методу объекта которого нет в текущем объекте

При обращении к несуществующему методу объекта JavaScript сначала ищет его в прототипной цепочке. Если метод не найден ни в самом объекте, ни в его прототипах, будет выброшена ошибка TypeError: obj.method is not a function.

Пример:

javascript
const obj = { name: 'Test' };
obj.sayHello(); // TypeError: obj.sayHello is not a function

Чтобы избежать ошибок, можно:

  1. Проверять наличие метода:
javascript
if (typeof obj.sayHello === 'function') {
  obj.sayHello();
}
  1. Использовать оператор опциональной цепочки:
javascript
obj.sayHello?.();
  1. Задавать методы через прототип:
javascript
Object.prototype.sayHello = function() {
  console.log('Hello!');
};
obj.sayHello(); // 'Hello!'
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы