Что такое корневой объект в Node.js
Вы можете знатьglobal
объект в Node.js:
{Object} Объект глобального пространства имен.
В браузерах область верхнего уровня является глобальной областью действия. Это означает, что в браузерах, если вы находитесь в глобальной области видимости, что-то будет определять глобальную переменную. В Node все по-другому. Область верхнего уровня не является глобальной областью; var что-то внутри модуля Node будет локальным для этого модуля.
Теперь я наткнулся наroot
объект, который, кажется, нигде не задокументирован.
Хотя кажется, что я могу использоватьroot
Также какglobal
:
test1.js
foo = 'bar'; // foo is defined in the global scope (no var in front of foo)
test2.js
require('./test1.js');
console.log(root.foo);
В оболочке:
$ node test2.js
bar
Когда я проверяюglobal
а такжеroot
в оболочке они выглядят одинаково. Пытаться:
$ node
> global
...
> root
...
Похоже, чтоroot
такой же какglobal
, Но почему избыточность? Почемуroot
не задокументировано? Это устарело?