Typescript 4 学习笔记
- 可变元组类型
- 元组标记
- class 从构造函数推断成员变量类型
- 短语赋值法
- 将 catch error 判定为 unknown 而非 any
0. 准备工作
-
安装 typescript 4 beta 体验版
npm init npm install typescript@beta
-
配置 workspace 启动
package.json 文件中增加 script 配置, 一定要使用 node_modules 下的 tsc 不然用全局的编译时候还是会报错,因为用的还是系统全局 3.x 的 typescript 版本
{ // .... "scripts": { "dev": "node ./node_modules/typescript/bin/tsc -w -p ./tsconfig.json" } // ... }
-
vscode 配置 typescript 检查版本
点击右下角 typescript标签 -> 配置版本号 -> 选择对应版本
1. 可变元组类型
说人话:支持在定义类型的时候使用扩展运算符…
// 4.0 之前不支持
const a: number[] = [1, 2];
const b: string[] = ["a", "b"];
const c = [...number[], ...string[]] // A rest element must be last in a tuple type.ts(1256)
4.0中使用可变元组类型能做的事情
- 剥离数组参数解构赋值
- 实现按顺序的数组聚合
- 保证数组聚合后的顺序
// 剥离部分参数
function head<T extends unknown, U extends Arr>(arr: [T,