Почему оператор возврата уровня модуля работает в Node.js?

Когда я отвечалДругой вопрос Я наткнулся на модуль Node.js с верхнего уровняreturn заявление. Например:

console.log("Trying to reach");
return;
console.log("dead code");

Это работаетбез ошибок и печатает:

Trying to reach

в стандартный вывод но не "dead code"-return фактически прекратил казнь.

Но согласноспецификацияreturn заявления в ECMAScript 5.1,

Семантика

Программа ECMAScript считаетсясинтаксически неправильный, если он содержит оператор возврата, который не находится в пределахFunctionBody.

В показанной выше программеreturn не в какой-либо функции.

Тогда почему это не бросить?

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

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