Меню

Глобальный объект в NodeJS

30.06.2018 - Back-end, NodeJS

Global Object (Глобальный объект)

Мы используем console.log, чтобы отображать что-либо в консоли. Объект console является глобальным. Это часть глобальной области видимости, что означает, что мы можем получить к нему доступ отовсюду. Есть группа других функций и объектов, которые также доступны глобально в Node. Например setTimeout, clearTimeout, setInterval, clearInterval. С остальными глобальными объектами мы познакомимся позже.

В браузере глобальный объект представляет объект — window. Все функции и переменные, которые определены глобально, могут быть использованы через этот глобальный объект. Например

window.console.log("Hello");

Или без указания объекта window. Движок JS сам подставит объект window, если надо.
Если мы, допусти объявим переменную message в глобальной области видимости, то он также станет частью обеъкта window.

var message = '';
window.message;

Но в node нету объекта window. Вместо него у нас есть другой глобальный объект — global.
Те функции что мы рассматривали ранее, также могут вызваны через global.setTimeout и т.д. Но тот пример с var message. Эта переменная не будет добавлена в глобальный объект.
Если мы сделаем

var message = "";
console.log(global.message); //undefined

То, мы получим undefined.
Т.е. другими словами, те функции и методы которые мы определяем в файле, ограничены областью видимости этого файла — они не попадают автоматически в global.

Всё это благодаря модульности node.

Метки: , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *