Typescript 类型脚本排除泛型类型
这是一个最小的可重复的例子Typescript 类型脚本排除泛型类型,typescript,Typescript,这是一个最小的可重复的例子 类型值={} 键入Something={} 函数isValid(a:Exclude){} 功能选择器(obj:T){ isValid(obj) } 导出{} Typescript 3.8.3拒绝使用等质量(obj)表达式 类型“某物”不可分配给类型“排除” 但有些东西是可分配的!这项工作: 让我们:Something={} 是否有效 错误消息不是一个bug吗?如何使isValid接受除值以外的任何类型?为isValid的参数键入不匹配项 type Somethi
类型值={}
键入Something={}
函数isValid(a:Exclude){}
功能选择器(obj:T){
isValid(obj)
}
导出{}
Typescript 3.8.3拒绝使用等质量(obj)表达式
类型“某物”不可分配给类型“排除”
但有些东西是可分配的!这项工作:
让我们:Something={}
是否有效
错误消息不是一个bug吗?如何使isValid接受除值以外的任何类型?为isValid的参数键入不匹配项
type Something {}
function isValid<T>(a: T) { }
function selecter<T extends Something>(obj: T) {
isValid(obj)
}
键入某物{}
函数是有效的(a:T){}
功能选择器(obj:T){
isValid(obj)
}
键入isValid参数的未匹配项
type Something {}
function isValid<T>(a: T) { }
function selecter<T extends Something>(obj: T) {
isValid(obj)
}
键入某物{}
函数是有效的(a:T){}
功能选择器(obj:T){
isValid(obj)
}
您能提供isEqual
签名吗?或者你的意思是选择器中的是有效的(…)
,对不起!我的意思是说,这是有效的。已编辑。您能提供isEqual
签名吗?或者你的意思是选择器中的是有效的(…)
,对不起!我的意思是说,这是有效的。编辑。使用Something
作为接口,两个isValid
语句都无法编译<代码>类型“Something”不可分配给类型“never”。
好的,我明白了,您看到的是类型未匹配。您正在将类型为T的obj传递到isValid。但是在isValid的函数定义中,您说它的参数是Exclude类型。使用Something
作为接口,两个isValid
语句都无法编译<代码>类型“Something”不可分配给类型“never”。
好的,我明白了,您看到的是类型未匹配。您正在将类型为T的obj传递到isValid。但是在isValid的函数定义中,您说它的参数是Exclude类型。