Какой результат появится в консоли (пример 52)

В исходнике SyntaxError из-за const.obj, поэтому вывода не будет. Даже после исправления на const obj первое console.log(someProp) вызовет ReferenceError, если внешняя переменная не объявлена.

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

Что ответить на собеседовании

В исходнике SyntaxError из-за const.obj, поэтому вывода не будет. Даже после исправления на const obj первое console.log(someProp) вызовет ReferenceError, если внешняя переменная не объявлена.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какой вывод будет получен в консоли после выполнения следующего фрагмента JavaScript‑кода:


const.obj = {
someProp: ''
}
console.log(someProp)
console.someProp = 'James'
console.log(obj.someProp)

Ответ

В исходнике SyntaxError из-за const.obj, поэтому вывода не будет. Даже после исправления на const obj первое console.log(someProp) вызовет ReferenceError, если внешняя переменная не объявлена.

Поле объекта не создаёт одноимённую переменную в окружающей области: нужно обращаться через obj.someProp. Строка console.someProp = 'James' меняет объект console, а не obj. Если исправить объявление, убрать ошибочное чтение и оставить это присваивание, console.log(obj.someProp) напечатает исходную пустую строку. Для изменения нужного поля требуется obj.someProp = 'James'.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее