typescript条件类型有哪些

条件类型允许基于条件动态创建类型,分为两种:T extends U ? X : Y,检查 T 是否可以赋值给 U,可赋值返回 X,否则返回 Y。T extends U = true ? X : Y,检查 T 是否严格等于 U,相等返回 X,否则返回 Y。条件类型用于类型守卫、类型转换和创建通用函数,但仅适用于类型变量。

typescript条件类型有哪些

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

有道小P 有道小P

有道小P,新一代AI全科学习助手,在学习中遇到任何问题都可以问我。

有道小P 64 查看详情 有道小P 检查类型变量 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条件类型有哪些的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/445687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月7日 20:40:08
下一篇 2025年11月7日 20:43:45

相关推荐

  • ‌一文了解:TypeScript和‌JavaScript的主要区别

    JavaScript 和 TypeScript 是两种流行的编程语言,具有不同的特性和优点:类型系统:JavaScript 是弱类型的,而 TypeScript 是强类型的,要求变量指定类型。静态类型检查:JavaScript 是解释型的,并在运行时检测错误,而 TypeScript 是编译型的,并…

    2025年12月9日
    000
  • Golang如何处理云原生应用网络负载均衡

    Golang应用在云原生环境中依赖Kubernetes、Ingress、服务网格和云厂商LB实现多层负载均衡,自身通过暴露/healthz健康检查、使用标准HTTP服务器、配合context优雅关闭来适配基础设施;结合gRPC负载均衡、服务发现组件如Consul实现客户端侧高级策略,并通过Prome…

    2025年12月2日 后端开发
    100
  • ZeroGPT检测API怎么用_ZeroGPT开放API接口调用教程

    首先获取ZeroGPT账户并生成API密钥,然后通过POST请求将文本发送至https://api.zerogpt.com/v1/detect,携带Authorization和Content-Type头信息及JSON格式的text字段,接收返回的is_ai_generated、ai_probabil…

    2025年12月2日 科技
    000
  • 深入理解 AEM Servlets:核心功能与应用场景

    aem servlets 在 adobe experience manager 中扮演着服务器端处理的核心角色,类似于传统 web 应用中的控制器。它们负责处理客户端请求、与 aem 内容存储库交互、渲染页面及处理表单提交。虽然 servlets 能够承载完整的后端逻辑,但 aem 也提供了灵活性,…

    2025年12月1日 java
    000
  • Golang如何实现微服务动态路由_Golang 微服务动态路由技巧

    微服务动态路由通过外部数据源实时调整请求转发路径,提升系统灵活性。使用Gin框架结合自定义中间件可实现动态路由加载与热更新,网关拦截请求并查询路由表代理至目标服务。集成Consul、etcd等服务发现机制,可自动感知服务上下线并更新节点列表。借助KrakenD、Tyk等Go语言网关框架,能快速实现动…

    2025年12月1日 后端开发
    000
  • 如何利用VSCode的Workspace设置为不同项目创建独立且最优的配置环境?

    Workspace设置通过项目专属配置文件实现独立开发环境,优先级高于全局设置。在.vscode目录下创建settings.json定义编辑器行为,extensions.json推荐必要插件,launch.json配置调试,tasks.json设置构建任务,并结合.editorconfig统一跨编辑…

    2025年11月29日 开发工具
    000
  • mysql连接提示:Can t connect to MySQL server on (110)

    昨天在利用mysql连接时出现了 Can t connect to MySQL server on (110) ,百度查了一下关于110的错误提示,原来是防火墙的原因。 关了防火墙就好。 Bolt.new Bolt.new是一个免费的AI全栈开发工具 466 查看详情

    2025年11月28日 数据库
    000
  • VSCode工作区管理:多项目协同开发的最佳实践

    VSCode工作区通过.code-workspace文件整合多个项目,支持共享设置、统一格式规范、跨项目调试及任务自动化,提升多项目开发效率与团队协作一致性。 在现代开发中,一个开发者往往需要同时处理多个相关项目,比如前端、后端、微服务模块或共享库。VSCode 通过“工作区”(Workspace)…

    2025年11月28日 开发工具
    000
  • JS注解怎么标注只读属性_ JS对象只读属性的注解方法与使用

    使用JSDoc的@readonly可标注只读属性以提升开发体验,但需结合Object.defineProperty设置writable为false才能实现运行时保护,TypeScript的readonly关键字则能在编译阶段阻止修改,提供更强的类型检查。 在JavaScript中,给对象属性设置只读…

    2025年11月28日 web前端
    000
  • typescript怎么卸载教程_如何卸载typescript的方法

    遵循以下步骤卸载 TypeScript:使用 npm 卸载 TypeScript:npm uninstall -g typescript检查 PATH 变量中是否有 TypeScript 引用并将其删除删除 TypeScript 文件和文件夹,包括 tsc.js、tsconfig.json 和 .d…

    2025年11月26日 web前端
    000
  • typescript的数据类型有哪些

    TypeScript 是强类型语言,数据类型包括:原始数据类型:number、string、boolean、null、undefined结构化数据类型:array、object、tuple、enum函数数据类型:function、arrow function其他数据类型:any、void TypeS…

    2025年11月26日 web前端
    000
  • vue typescript编辑器

    Vue TypeScript 编辑器是一款专为 Vue 和 TypeScript 设计的代码编辑器,提供自动完成、类型检查、智能感知、错误突出显示、代码格式化、调试支持和插件支持等功能,可提高开发效率,提升代码质量,简化调试,适用于大型或复杂的 Vue/TypeScript 项目中。 Vue Typ…

    2025年11月26日 web前端
    000
  • typescript手机编辑器

    JSX 是一种语法扩展,允许你在 TypeScript 代码中使用类似于 XML 的语法来创建 React 组件。它的优点包括可读性和可维护性更强、代码更少、IDE 支持更好,使用方法是导入 React 模块并启用 JSX 编译器选项。JSX 元素可以具有属性(使用花括号传递)和嵌套元素。需要注意的…

    2025年11月26日 web前端
    000
  • typescript操作技巧

    TypeScript 的操作技巧包括:类型推断;类型注解;接口定义契约;类型别名提高可读性;泛型处理不同类型;枚举表示有限选项;类型保护确保类型一致;类型断言强制转换类型;控制流语句控制程序流;异常处理处理错误;模块组织代码,提高可重用性。 TypeScript 操作技巧 类型推断 TypeScri…

    2025年11月26日 web前端
    100
  • 手机如何运行typescript方法

    要在手机上运行 TypeScript 方法,可以使用 TypeScript 编译器或第三方库:TypeScript 编译器: 将 TypeScript 代码编译成 JavaScript,然后集成到移动应用程序中。第三方库: 如 React Native 或 NativeScript,允许使用 Typ…

    2025年11月26日 web前端
    000
  • typescript的好处_typescript优缺点分析

    TypeScript 具备以下优势:类型检查:强制执行类型安全性,防止类型和逻辑错误。代码可重用性:明确类型化变量和函数,便于代码块重用。早期错误检测:编译时运行类型检查,在运行时之前检测代码错误。IDE 支持:提供代码自动完成、错误检查等功能,提高开发效率。更好的组织和可维护性:明确定义的类型有助…

    2025年11月26日 web前端
    000
  • typescript学习指南_typescript新手小白学习指南

    初学者学习 TypeScript 指南:TypeScript 是一种强类型化的 JavaScript 超集,可提高代码质量和团队合作效率。安装 TypeScript 编译器(tsc)以开始使用。TypeScript 语法与 JavaScript 相似,但新增了类型标注,以防止错误。TypeScrip…

    2025年11月26日 web前端
    000
  • typescript学习方法_零基础学习typescript的方法

    零基础学习 TypeScript 的方法:理解 JavaScript 基础安装 TypeScript学习 TypeScript 语法使用 TypeScript 编译器探索 TypeScript 特性练习和构建项目利用学习资源保持耐心并寻求帮助 零基础学习 TypeScript 的方法 TypeScr…

    2025年11月26日 web前端
    100
  • typescript超详细入门教程

    TypeScript 是一种由 Microsoft 开发的扩展 JavaScript 的强类型语言,通过添加类型注解帮助 JavaScript 开发人员编写可靠且易于维护的代码。可以按照以下步骤开始使用 TypeScript:全局安装或在项目文件夹中安装 TypeScript。创建具有 .ts 扩展…

    2025年11月26日 web前端
    100
  • sublime怎么配置LSP(Language Server Protocol)_sublime启用LSP语言智能提示功能教程

    首先安装LSP插件并配置对应语言服务器,如Python用pylsp、JavaScript用typescript-language-server,安装后在LSP设置中添加服务器命令与语法关联,保存配置并启用LSP功能,打开文件时自动触发智能提示,可通过日志面板排查路径错误等常见问题。 要在 Subli…

    2025年11月26日 开发工具
    000

发表回复

登录后才能评论
关注微信