导航


HTML

CSS

JavaScript

浏览器 & 网络

版本管理

框架

构建工具

TypeScript

性能优化

软实力

算法

UI、组件库

Node

冷门技能

类型擦除

ts 转 js 主要工作就是 「类型擦除」

Untitled

如何擦除类型

npm i -g esbuild
sebuild 1.ts > 1.js

npm i -g @swc/cli @swc/core
swc 1.ts -o 1.js

# 以上两种转义很快(因为不检查 TS 语法是否正确)

npm i -g typescript
tsc 1.ts

npm i @babel/core @babel/cli @babel/preset-typescript
babel --presets @babel/preset-typescript 1.ts

# 以上两种转义慢

TS、ES6、ES5 之间的关系

Untitled

ES6 兼容表

查询ES6兼容表

在线编辑器推荐

Javascript Playground (Sandbox, Repl)

StackBlitz | Instant Dev Environments | Click. Code. Done. - StackBlitz

CodeSandbox: Online Code Editor and IDE for Rapid Web Development

使用 Vite 本地编辑 TS

npm create vite@latest ts-demo -- --template vanilla-ts
npm i
npm run dev

如何使用 Node 运行 TS

ts-node

会先进行类型检查,再类型擦除运行

https://typestrong.org/ts-node/docs/installation

npm install -g ts-node # 全局安装
ts-node 1.ts # 运行 1.ts 文件

swc-node

不进行类型检查,直接擦除

https://github.com/swc-project/swc-node

npm i -D @swc-node/register # 安装包
node -r @swc-node/register script.ts # node 加上 -r 可执行 ts

如何调试 TS

鼠标移到编译器的报错信息上

书籍推荐

编程与类型系统

TypeScript编程

类型和程序设计语言