Будет выведена строка 'object'. Это историческая особенность typeof в JavaScript, а не свидетельство того, что null — обычный объект.
Что выведет console.log при typeof null?
Будет выведена строка 'object'. Это историческая особенность typeof в JavaScript, а не свидетельство того, что null — обычный объект.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Определите, какое значение будет напечатано в консоль при выполнении следующего кода:
console.log( typeof null )
Ответ
Будет выведена строка 'object'. Это историческая особенность typeof в JavaScript, а не свидетельство того, что null — обычный объект.
null представляет намеренное отсутствие значения и является отдельным примитивным значением. У него нельзя читать свойства как у обычного объекта; например, null.x вызывает TypeError.
Для проверки null используйте value === null. Проверка typeof value === 'object' без дополнительного условия также принимает null, поэтому при проверке объектного значения обычно добавляют value !== null. Массивы, даты и другие объектные типы требуют дальнейшего уточнения проверки.