Проверяет понимание методов массивов и типов данных в JavaScript, а также важность проверки существования переменной перед вызовом метода.
В 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
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию