条件类型允许基于条件动态创建类型,分为两种:T extends U ? X : Y,检查 T 是否可以赋值给 U,可赋值返回 X,否则返回 Y。T extends U = true ? X : Y,检查 T 是否严格等于 U,相等返回 X,否则返回 Y。条件类型用于类型守卫、类型转换和创建通用函数,但仅适用于类型变量。
TypeScript 条件类型
TypeScript 中的条件类型是一种高级特性,允许开发者基于类型谓词动态创建新的类型。通过使用条件类型,可以创建复杂的类型,这些类型会根据特定的条件而改变。
有哪些条件类型?
TypeScript 中有以下两种主要的条件类型:
T extends U ? X : YT extends U = true ? X : Y
条件类型如何工作?
T extends U ? X : Y
检查类型变量 T 是否可以赋值给类型 U。如果可以,则返回类型 X。如果不可以,则返回类型 Y。
T extends U = true ? X : Y
检查类型变量 T 是否可以严格等于类型 U。如果相等,则返回类型 X。如果不相等,则返回类型 Y。
示例
以下是一些条件类型的示例:
type IsString = T extends string ? true : false; // 检查 T 是否是 string 类型type IsArray = T extends Array ? true : false; // 检查 T 是否是 Array 类型type NotNull = T extends null | undefined ? never : T; // 从 T 中排除 null 和 undefined
登录后复制
用法
条件类型可以用于各种场景,例如:
类型守卫:检查一个值是否属于特定类型。类型转换:将一个类型转换为另一个类型。创建通用函数:编写适用于各种类型的函数。
注意
条件类型只能用于类型变量,不能用于值。条件类型的结果类型必须是 TypeScript 中的合法类型。
以上就是typescript条件类型有哪些的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2666849.html