【发布时间】:2020-10-14 14:04:34
【问题描述】:
在现有代码中,我遇到过这样的类型参数声明:<Param extends {}>。
我的问题是,extends {} 部分的含义是什么?它与简单的<Param> 有何不同?
例子:
type Fold<S extends {}, D extends {}> = {
folder: ...
}
【问题讨论】:
-
没有代码很难说,可能是为了防止字符串、数字、未定义等原始类型……你有例子吗?
-
@HTN:这不排除原语,
object会这样做。 -
@HTN it doesn't prevent primitives。不过,我实际上不知道它的作用。这绝对是任何事物的下限。可能会阻止
never,不确定。 -
doesn't filter out
never, either。我也很好奇这种用法。可能只是 something 之前存在但后来被移除的人工制品。或者一种模式,以便您将来可以快速填写属性。 -
@ford04 加了个例子,够了吗?
标签: typescript typescript-generics