Что такое корневой объект в 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 не задокументировано? Это устарело?

Ответы на вопрос(1)

Ваш ответ на вопрос