typescript 接口申明函数类型错误
typescript 接口申明函数类型错误
interface SearchFunc { (key: string | number | symbol, object: object): key is keyof object
}
let mySearch: SearchFunc = function(key, object) {
return key in object;
}
在vue3的为 globalProperties 扩充类型中也有问题
回答:
因为 类型谓词 和 boolean 在 ts 里是不兼容的,boolean 并没有类型保护的作用,你函数的返回值需要显式地指定为类型谓词这个函数签名才能匹配得上:
interface SearchFunc { (key: string | number | symbol, object: object): key is keyof object
}
const mySearch: SearchFunc = (key, object): key is keyof object => {
return key in object
}
回答:
这样可以,具体的原理我也不太懂
以上是 typescript 接口申明函数类型错误 的全部内容, 来源链接: utcz.com/p/937426.html