Partial/Required/Pick/Omit/Record/Extract/Exclude 等 12 个常用内置工具类型的用法速查。
查看 Demo提取对象所有值的联合类型、所有键的联合类型,应用于字典定义、枚举替代、配置映射。
查看 Demo合并两个类型并让后者覆盖同名字段,区别于 & 交叉类型,用于组件 Props 合并与配置覆盖。
查看 Demoextends 的三种用法、extends keyof 约束、extends object vs Record 区别、多重约束实战。
查看 DemoT extends U ? X : Y 语法、infer 提取类型、分发条件类型、与三元表达式的区别。
查看 Demo递归将所有属性变为必填,与 DeepPartial 对应,配置合并后确保字段完整。
查看 Demo按指定 key 将对象部分属性设为可选,其余保持不变,比 Partial 粒度更精细。
查看 Demo按指定 key 将对象部分属性设为必填,其余保持不变,与 PartialByKeys 互补。
查看 Demo成功与失败的联合类型封装,data 泛型参数化,覆盖常见 HTTP 接口响应结构。
查看 Demo请求参数、响应数据与元信息的完整分页类型设计,泛型化列表项类型。
查看 Demo字段定义、校验规则与类型推导的表单 Schema 设计,驱动动态表单生成。
查看 Demoon/off/emit 强类型约束的事件总线,事件名与回调参数类型一一对应。
查看 Demo字段校验规则类型定义,泛型约束字段名必须是表单数据的 key,避免拼写错误。
查看 Demo表格列配置类型,prop/label/formatter 等,泛型绑定行数据类型。
查看 Demoas const 对象定义字典项,推导 value/label 联合类型,提供根据 value 查 label。
查看 Demo类似 axios 的请求配置类型,泛型约束响应数据类型,method 字面量联合。
查看 Demo递归嵌套路由配置类型,meta 强类型,从配置推导路由名联合类型。
查看 Demo自定义类型守卫函数 arg is Type,判断 API 返回数据类型、过滤数组中的 null/undefined。
查看 Demotypeof、instanceof、in 操作符、真值判断、asserts 断言函数,五种收窄方式实战对比。
查看 Demo三种特殊类型的对比:any 放弃检查、unknown 类型安全、never 穷尽性检查。
查看 Demodeclare module 给 npm 包补类型、给 Vue 原型挂载属性声明、给 window 添加全局变量类型。
查看 DemoTS 4.9 引入,既校验类型又保留字面量推断,对比 as const 和类型注解的差异。
查看 Demoas const 的四种用法(对象只读、数组变元组、字面量收窄、枚举替代),配合 satisfies 使用。
查看 Demo?: 和 | undefined 的语义差异,JSON 序列化行为、exactOptionalPropertyTypes 的影响。
查看 Demo空数组推断为 never[]、useState 初始值、as const 副作用、函数返回数组的类型推断。
查看 DemoObject.keys 返回 string[] 而非 (keyof T)[],设计原因与 typedKeys 安全替代方案。
查看 Demo泛型只在返回值中出现、默认泛型参数、手动指定时机,封装通用请求函数的常见问题。
查看 Demo.d.ts 无 import/export 即全局声明、export {} 隔离、declare global 的正确用法。
查看 Demo