TypeScript 的 `infer` 关键字 是在条件类型中使用的一种特殊关键字,允许你在条件类型中推断出某个类型。`infer` 通常与 `extends` 条件类型一起使用,用来从某个复杂的类型中提取子类型或者推导出更具体的类型。
TypeScript 的泛型(Generics)是一种强大的工具,允许你在定义函数、接口或类时不预先指定具体的类型,而是让用户在使用时传入具体的类型。泛型使得代码可以在保持类型安全的同时,更加灵活和可重用。
TypeScript 的索引访问类型(Indexed Access Types)允许我们通过指定某个属性的键来访问类型中的某个属性的类型。这种特性可以使我们在类型系统中动态地引用某个类型的部分内容,类似于在 JavaScript 中通过 `obj[key]` 访问对象属性的值。
TypeScript 的条件类型(`Conditional Types`)是一种基于条件的类型系统,可以根据某个条件动态地选择和推导类型。条件类型类似于 JavaScript 中的三元表达式(`condition ? trueBranch : falseBranch`),但用于类型层面。