Исходный фрагмент не выполнится: function.func(){} — синтаксическая ошибка. После исправления на function func(){} вывод будет object, object, function, object.
Что отобразится в консоли? (вариант 53)
Исходный фрагмент не выполнится: function.func(){} — синтаксическая ошибка. После исправления на function func(){} вывод будет object, object, function, object.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Определите, какие значения будут выведены в консоль при выполнении следующего кода:
function.func(){}
console.log(typeof {})
console.log(typeof [])
console.log(typeof func)
console.log(typeof null)
Ответ
Исходный фрагмент не выполнится: function.func(){} — синтаксическая ошибка. После исправления на function func(){} вывод будет object, object, function, object.
typeof {} и typeof [] возвращают object: массив является объектом, его отличают через Array.isArray. Для объявленной функции typeof возвращает function. Результат typeof null === 'object' — историческая особенность языка, а не признак того, что null является объектом. Пока первая строка не исправлена, синтаксический разбор всего script завершается ошибкой и ни один console.log не выполняется.