素材阁

TypeScript 速查

共 42 条常用 TypeScript 写法,覆盖基础类型、类型别名/接口/泛型、类型收窄与断言、模块与工具类型四组场景, 逐条给出写法与说明。支持搜索与分类筛选,点击写法即可复制。

基础类型

写法说明
数字,含整数与浮点
字符串
布尔值
未知类型,使用前必须收窄(比 any 安全)
放弃类型检查,尽量少用
无返回值
永不返回(如抛错分支)
联合类型
数组类型两种写法
元组,长度与顺序固定
对象类型,? 表示可选

类型别名 / 接口 / 泛型

写法说明
类型别名,可联合/交叉
接口,描述对象结构,可声明合并
接口继承
交叉类型,合并成员
泛型函数,约束参数与返回值一致
条件类型
取对象所有键的联合
索引访问类型
全部属性转为可选
全部属性转为必填
全部属性只读
挑选 / 排除若干属性
构造键为 K、值为 V 的对象类型
取函数返回类型

类型收窄与断言

写法说明
原始类型收窄
按属性存在性收窄
按类收窄
真值收窄,排除空数组等
类型断言,不做运行时检查
非空断言,去 null/undefined
自定义类型守卫的返回签名
保持字面量推断同时校验类型

模块与工具类型

写法说明
命名导出与导入
默认导出
仅导入类型,编译后擦除
只读属性,禁止重新赋值
字面量推断,缩小为最窄类型
声明外部存在的类型,不做实现
预期此处报错,报错才通过
枚举,运行时存在,可按需避免
开启 strictNullChecks 等严格检查

使用说明

TypeScript 的类型体操常卡在工具类型和泛型写法上。本速查把基础类型、接口、泛型、工具类型与 tsconfig 常用项归好组,写类型时直接查。

  1. 搜索类型名或写法(如 Record、Pick、泛型、断言)。
  2. 按分组查看基础类型、泛型、工具类型、配置等。
  3. 点击复制即可取走可用的类型声明片段。

常见问题

Partial 和 Required 分别做什么?
Partial<T> 把所有属性变为可选;Required<T> 把所有属性变为必填,二者都只作用于顶层属性。
interface 和 type 有什么区别?
两者大多可互换;interface 支持声明合并与 extends,type 更灵活(可写联合、交叉、条件类型)。

延伸阅读

相关工具