【前段工程化】经验总结03-ESNext到底是个啥?tsconfig.json配置文件中的ESNext, ESNext和ES6的关系

本文探讨了ESNext在tsconfig.json配置文件中的含义,指出ESNext并不是ES6,而是指未来的ECMAScript版本,包括已发布和未发布的特性。配置中的`target: ESNext`意味着编译时会包含ES6及后续版本的语法。同时,文章提到了TypeScript配置文件的其他关键选项,如`module`和`strict`,强调了它们在项目中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们的项目中有很多配置文件比如说tsconfig.json,就是关于typescript的配置,之前我都是机械性的复制粘贴已经配置好的项目的配置文件,今天我们不谈论别的,就单纯的看一下这个eslint到底是个啥?

假设我们有一个这样的配置文件

npm i typescript 之后,可以使用tsc --init 初始化tsconfig.json

{
	"compilerOptions": {
		"target": "ESNext",
		"useDefineForClassFields": true,
		"module": "ESNext",
		"moduleResolution": "Node",
		"strict": true,
		"jsx": "preserve",
		"sourceMap": true,
		"resolveJsonModule": true,
		"isolatedModules": true,
		"esModuleInterop": true,
		"lib": ["ESNext", "DOM"],
		"skipLibCheck": true,
		"baseUrl": "",
		"paths": {
			"@/*": ["./src/*"]
		},
		"types": ["vite/client", "vite-plugin-svg-icons/client", "node", "jest"]
	},
	"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "__tests__/unit/*.ts"],
	"references": [{ "path": "./tsconfig.node.json" }]
}

其中target: ESNext,module: ESNext

好多地方有ESNext,那么他到底是啥,以前我一直以为是es6就叫做ESNext,但是其实不然,我们看一下vscode的提示

ESNext不是ES6,但是肯定包含ES6

ECMAScript 6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript 2015(ES2015)。 它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言 。

ESNext 是一个动态的概念,指的是 ECMAScript 的下一个版本。就是将来即将发布的,尚未正式确定的 ECMAScript 版本,可能包含了新的语言特性,语法,API等。所以我们在配置中写ESNext肯定是包含ES6的语法,因为ES6早就发布了。开发者使用 ESNext 来指代当前和未来 ECMAScript 版本的集合

Shen Lu's Blog使用 TypeScript 开发项目的过程中,经常需要使用 tsc 命令将 TS 代码编译成特定版本的 ECMAScript,在tsconfig.json配置文件中有一个 target 字段,决定编译后输出的 ECMAScript 版本,默认输出 ES3。target字段有多个值可以选择,有一个名为 ESNext 的值。网上搜了一些对这个词的具体含义,我认为比较可靠的说法是这样的。icon-default.png?t=N7T8https://shenlu.me/2021/10/26/what-is-esnext.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值