¿Cuál es el objeto raíz en Node.js?

Puede saber elglobal objeto en Node.js:

{Objeto} El objeto de espacio de nombres global.

En los navegadores, el alcance de nivel superior es el alcance global. Eso significa que en los navegadores, si está en el ámbito global, var algo definirá una variable global. En el nodo esto es diferente. El alcance de nivel superior no es el alcance global; var algo dentro de un módulo Node será local para ese módulo.

Ahora me tropecé con elroot objeto que parece estar documentado en ninguna parte.

Aunque parece que puedo usarroot de la misma manera queglobal:

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);

En la cáscara:

$ node test2.js
bar

Cuando inspeccionoglobal yroot en el caparazón se ven iguales. Tratar:

$ node
> global
...
> root
...

Entonces parece queroot es lo mismo queglobal. ¿Pero por qué la redundancia? Por que esroot no documentado? ¿Está en desuso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta