Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: map, undefined, array, method, type error

Почему нельзя вызвать .map() на undefined?

Проверяет понимание методов массивов и типов данных в JavaScript, а также важность проверки существования переменной перед вызовом метода.

Короткий ответ

Метод .map() доступен только для массивов. Если переменная равна undefined, это означает, что у неё нет свойств и методов, поэтому вызов .map() приведёт к ошибке TypeError. Перед использованием .map() нужно убедиться, что переменная является массивом.

Длинный ответ

Почему .map() не работает на undefined?

В JavaScript метод .map() определён в прототипе Array.prototype. Это означает, что он доступен только для объектов, которые являются экземплярами массива. Если переменная имеет значение undefined, она не является объектом и не имеет прототипа, поэтому попытка вызвать .map() приводит к ошибке TypeError: Cannot read properties of undefined (reading 'map').

Пример ошибки

let data;
console.log(data.map(item => item * 2));
// TypeError: Cannot read properties of undefined (reading 'map')

Как избежать ошибки

Перед вызовом .map() необходимо проверить, что переменная определена и является массивом. Это можно сделать с помощью условной проверки или использования опциональной цепочки (?.) и оператора нулевого слияния (??).

let data;
// Проверка через if
if (Array.isArray(data)) {
  console.log(data.map(item => item * 2));
} else {
  console.log('data не является массивом');
}

// Использование опциональной цепочки
console.log(data?.map(item => item * 2) ?? []);

Вывод

Всегда проверяйте, что переменная является массивом перед вызовом методов массива, чтобы избежать неожиданных ошибок в рантайме. Это особенно важно при работе с данными из внешних источников, таких как API или пользовательский ввод.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#map

#undefined

#array

#method

#type error

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию