169 похожих чатов

Здарова! Var name = 'John'; var user = {

name: "Peter",
printMessage() {
console.log(Hello, ${this.name}!);
}
};

var printMessage = user.printMessage;
printMessage();

объясните пожалуйста, почему в консоли браузера результат вызова функции:
Hello, John!

а если в VS Code кликнуть на кнопку play, в терминале показывает:
Hello, undefined!

?
(там телега схавала кавычки обратные в консоль логе)

4 ответов

27 просмотров
Кот-Чеширский Автор вопроса

т.е. в терминале VS Code и в окне разработчика (консоли браузера) получается разный глобальный объект? отличается контекст вызова?

Кот Чеширский
т.е. в терминале VS Code и в окне разработчика (ко...

посмотри что дает просто this в терминале, может там глобального объекта нет

Кот-Чеширский Автор вопроса
Максим
посмотри что дает просто this в терминале, может т...

Спасибо!!) в терминале показывает {} а в браузере Window

Когда ты объявляешь var в глобальной области видимости браузера, то создаётся свойство в window, в нестрогом режиме this по умолчанию ссылается на window, соответственно this.name это window.name. В nodejs всё выполняется в обёртке модуля, поэтому в аналог window в ноде, под названием global не получает свойство name. Но если ты напишешь global.name = 'John' вместо var name = 'John', то получится иначе.

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта