Какая именно версия JavaScript делает Node.js понимаете по умолчанию?

#javascript #node.js

Вопрос:

Если я использую Node.js без транспилятора, то есть чего-то такого простого, как

 node hello.js
 

какой это язык hello.js ? Я думал, что, так как Node.js основан на V8, это был бы язык V8 (предположительно, что-то близкое к последней версии ECMAScript).

Но Node также поддерживает require() функцию, которой нет в ECMAScript (или в V8).

Возможно, язык узла-это V8 плюс подмножество CommonJS? Какое подмножество?

Комментарии:

1. Node.js знает только о JavaScript. CommonJS-это не язык.

2. он использует что — то близкое к ES5, с некоторыми расширениями , как вы упомянули, например require , реализация ecmascript называется javascript

3. Узел @SamridhTuladhar уже давно поддерживает ES6 . Он не полностью поддерживал его (модули ES) до двух лет назад, но на самом деле он не был «близок» к ES5 в течение довольно долгого времени.

4. @VLAZ Я думал, что из вопроса было ясно, что я знаю, что Node.js знает JavaScript, и вопрос в том, какой JavaScript. Я изменил название, чтобы было понятнее.

5. узел.зеленый

Ответ №1:

Как и с любым другим движком JavaScript, Node.js поддерживает:

  • Набор функций из различных версий JS (поскольку они реализуются по функциям (в отличие от одного большого выпуска, в котором сразу же выпускаются любые изменения в новой версии ECMAScript). https://node.green/ поддерживает список функций в различных версиях ECMAScript и поддержку их в разных движках.
  • Набор расширений в виде API, которые не определены спецификацией ECMAScript (например, для доступа к файловой системе и поддержки модулей CommonJS)

Комментарии:

1. Таким образом, язык узла примерно соответствует ECMAScript плюс (нестандартные) функции, перечисленные в nodejs.org/api ?

2. @AntonisChristofides — Каждый движок JS примерно соответствует ECMAScript плюс некоторые нестандартные функции. (Хотя API-интерфейсы не являются частью языка)

3. @AntonisChristofides нестандартный в соответствии со спецификациями ES . Многие из этих функций являются стандартными для Node.js. Есть также некоторые вещи, для которых нет стандарта, например, console.log которые показывают вам что- то , но этот вывод не стандартизирован.