返回博客列表

Typescript的target配置是什么意思

"target" 决定 TypeScript 把代码编译成哪种版本的 JavaScript。

"target" 决定 TypeScript 把代码编译成哪种版本的 JavaScript

"target": "esnext" 是什么意思

意思是:尽量输出最新的 JS 语法,几乎不做“降级编译”。

例如:

源码写法 target: "es5" target: "esnext"
const / let 可能变成 var 保留 const / let
async/await 可能变成 Promise + 生成器 保留 async/await
可选链 ?. 可能变成一堆 if 直接保留 ?.

esnext = “当前 TypeScript 支持的最新 ECMAScript 特性”,会随 TS 版本变化。


常见取值

含义
"es5" 很老的浏览器(IE 时代)
"es2015" / "es6" 现代基线
"es2020" / "es2022" 指定到某一年的标准
"esnext" 最新,几乎不降级

target 管的是语法版本module 管的是模块系统import/require)。两个是分开的。


一句话

  • 含义:编译输出的 JS “新到什么程度”。
  • esnext:尽量不转换,用最新语法。
  • 怎么写:新 Node项目 → "esnext""es2022" 都行;要兼容老环境 → 选更低的,比如 "es2017""es5"