В исходнике SyntaxError из-за const.obj, поэтому вывода не будет. Даже после исправления на const obj первое console.log(someProp) вызовет ReferenceError, если внешняя переменная не объявлена.
Какой результат появится в консоли (пример 52)
В исходнике 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'.