温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ecmascript在node中怎么用

发布时间:2026-09-19 08:50:24 来源:亿速云 阅读:94 作者:小樊 栏目:编程语言

ECMAScript(简称 ES)其实就是 JavaScript 的语言标准,而 Node.js 本身就是用 JavaScript(ECMAScript + Node API)写的运行环境。所以在 Node 里“用 ECMAScript”,本质上就是写 JavaScript,只是不同 Node 版本支持的 ES 特性不同。

下面从「怎么用」「版本支持」「常见写法」三个角度说。


一、Node 中如何使用 ECMAScript

1️⃣ 直接写 JS 文件运行

// index.js
const name = 'Tom'
console.log(`Hello, ${name}`)

运行:

node index.js

Node 默认支持 ECMAScript 2015+(ES6+) 的大部分语法。


2️⃣ 使用 ES Module(ESM,import / export)

Node 支持两种模块系统:

✅ CommonJS(默认,老方式)

// a.js
module.exports = { sum: (a, b) => a + b }

// b.js
const { sum } = require('./a')

✅ ES Module(新方式,推荐)

有两种开启方式:

方式一:文件后缀 .mjs

// a.mjs
export const sum = (a, b) => a + b

// b.mjs
import { sum } from './a.mjs'

方式二:package.json 中设置

{
  "type": "module"
}

然后就可以用 .js 写 ESM:

import fs from 'fs'

二、Node 版本与 ECMAScript 支持

Node 版本 支持情况
Node 14+ 稳定支持 ES2020
Node 16+ ES2021
Node 18+ ES2022(顶层 await、structuredClone)
Node 20+ 最新 ES 特性

查看版本:

node -v

三、常用 ECMAScript 特性在 Node 中的用法

✅ let / const

let x = 1
const y = 2

✅ 箭头函数

const add = (a, b) => a + b

✅ 解构

const { name, age } = user

✅ Promise / async / await

async function getData() {
  const res = await fetch(url)
  return res.json()
}

✅ 可选链 / 空值合并(Node 14+)

const name = user?.profile?.name
const val = input ?? 'default'

✅ 顶层 await(Node 14.8+,ESM)

const data = await fetchData()

四、如果用到“还没稳定支持”的 ES 特性

方案 1:用 Babel 转译

npm install @babel/core @babel/preset-env

方案 2:用 TypeScript

npm install typescript

TypeScript 本质是 ES 的超集,最终编译成 ES。


五、一句话总结

在 Node 中用 ECMAScript = 写 JavaScript

  • 默认支持 ES6+
  • 用 import/export 需开启 ESM
  • Node 版本越新,ES 特性越全
  • 老特性 CommonJS,新项目推荐 ESM

如果你有具体场景(比如:Node 写后端、前端构建、老项目兼容),我可以给你更具体的用法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手