Почему оператор возврата уровня модуля работает в 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
не в какой-либо функции.
Тогда почему это не бросить?