You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js默认支持的JavaScript版本是哪个?原生运行遵循什么语法规范?

Node.js 执行 hello.js 遵循的规范说明

当你直接运行 node hello.js 时,代码的语法支持和规范遵循可以拆解为两部分,不存在「V8语法加CommonJS子集」的说法,具体规则如下:

  • 基础语法层完全对齐V8引擎支持的ECMAScript标准
    Node.js的JavaScript执行核心就是V8引擎,所有V8已经实现的ECMAScript语法(包括ES6+的所有新特性,比如箭头函数、解构赋值、可选链、类、顶层await等)都可以直接使用,没有任何删减,和浏览器端Chrome的V8语法支持基本一致。
  • 模块系统和额外全局API是Node.js在ECMAScript标准之外的扩展
    Node.js默认对.js后缀文件使用CommonJS模块规范,这部分能力不属于ECMAScript标准,也不是V8原生提供,是Node.js在模块加载阶段注入到每个模块作用域的内容,包括你提到的require(),还有module、exports、__filename、__dirname这几个专用变量。
    如果你在项目的package.json中配置了"type": "module",或是把文件后缀改为.mjs,Node.js就会切换为标准ECMAScript模块(ESM)模式,此时默认不提供require()等CommonJS专属变量,使用标准的import/export语法做模块导入导出。

简单来说,Node.js的JavaScript支持是V8兼容的全量ECMAScript语法 + Node.js自行扩展的模块能力与全局API,没有对ECMAScript语法做任何裁剪,不存在所谓的「子集」限制。

内容的提问来源于stack exchange,提问作者Antonis Christofides

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 01:45:04