我正在试图弄清楚如何阅读以下语法:

type Bob<T extends Alice = Alice> = ....

我了解扩展,这意味着提供的类型受到Alice的约束.但之后的作业(job)意味着什么呢?

阅读TS文档并在谷歌上搜索问题时,我找不到任何东西来解释这个问题,可能是因为我不知道该搜索什么.

推荐答案

那是default type argument.对于Bob等通用类型,这意味着您可以省略类型参数,并且类型判断器将使用默认值. 所以你可以写Bob<Carol>并得到Bob<Carol>,但如果你只写Bob,你就会得到Bob<Alice>. 如果没有默认参数,您必须显式写出Bob<Alice>.

Typescript相关问答推荐

了解TS类型参数列表中的分配

如果在TypeScript中一个原始的类方法是递归的,如何使用类decorator 模式?

使用React处理Websocket数据

在TypeScript中,除了映射类型之外还使用的`in`二进制运算符?

类型{...}的TypeScript参数不能赋给类型为never的参数''

typescribe警告,explate—deps,useEffect依赖项列表

路由链接不会导航到指定router-outlet 的延迟加载模块

在类型脚本中的泛型类上扩展的可选参数

如何将CSV/TXT文件导入到服务中?

表单嵌套太深

如何在处理数组时缩小几个派生类实例之间的类型范围?

如何使用Geojson模块和@Types/Geojson类型解析TypeScrip中的GeoJSON?

限制返回联合的TS函数的返回类型

使用Redux Saga操作通道对操作进行排序不起作用

不带其他属性的精确函数返回类型

tailwind css未被应用-react

react 路由不响应参数

使用强类型元组实现[Symbol.iterator]的类型脚本?

编剧- Select 动态下拉选项

仅当类型为联合类型时映射属性类型