Проверяет понимание способов определения типа значения в JavaScript во время выполнения, что важно для отладки и корректной обработки данных.
JavaScript — динамически типизированный язык, поэтому тип значения определяется во время выполнения, а не при объявлении переменной. Это значит, что одна и та же переменная может хранить число, строку или объект в разные моменты времени. Понимание того, как определить текущий тип, критично для валидации данных, отладки и написания надёжного кода.
typeof 42; // "number"
typeof "hello"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object" (историческая особенность)
typeof {}; // "object"
typeof []; // "object"
typeof function(){}; // "function"
[] instanceof Array; // true
({}) instanceof Object; // true
Array.isArray([]); // true
Object.prototype.toString.call(null); // "[object Null]"
Object.prototype.toString.call([]); // "[object Array]"
Проверка типов используется при валидации входных данных API, в библиотеках для сериализации, в функциях, которые должны по-разному обрабатывать числа, строки и объекты. Например, перед вызовом метода массива полезно убедиться, что значение действительно массив, иначе код упадёт с ошибкой.
Итог: для примитивов достаточно typeof, для массивов — Array.isArray, для точного определения класса объекта — instanceof или Object.prototype.toString.call(). Выбор способа зависит от того, насколько строгую проверку требуется выполнить.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию