JS代码是可以在浏览器和node中运行,但是TS代码就不可以在这两者中运行,需要进行类型擦除处理才可以执行。若是不想处理则可以使用Deno。
Deno是node之父后写的项目可以直接执行TS,原理是因为Deno有rust和v8,将ts编译成js,然后在通过v8引擎执行。
什么是类型擦除
类型擦除是计算机程序设计时,在编译期明确去掉所编程序(某部分)的类型系统。
如何擦除类型
- 使用esbuild
安装:npm i -g esbuild
案例使用:esbuild 1.ts > 1.js
- 使用swc
安装:npm i -g @swc/cli @swc/core
案例使用:swc 1.ts -o 1.js
- 使用typescript
安装:npm i -g typescript
案例使用:tsc 1.ts
- 使用babel
安装:pnpm i @babel/core @babel/cli @babel/preset-typescript
案例使用:babel --presets @babel/preset-typescript 1.ts
前两种执行速度快(因为不校验TS语法),后两种执行速度慢(因为校验TS语法)。
如何将TS转为JS
如何运行TypeScript
- TypeScript PlayGround
- 第三方在线编辑器playcode.io、stackblitz.com、codesandbox.io
- 本地在线编辑器Vite
- 本地编辑+Node:ts-node、swc-node、@esbuild-kit/esm-loader、esno
如何调试TypeScript
编辑器上通过鼠标悬浮进行查看,看报错(通过控制台)
补充
其他学习资料:《编程与类型系统》、《TypeScript编程》《类型和程序设计语言》