typescript 接口申明函数类型错误

typescript 接口申明函数类型错误

interface SearchFunc {

(key: string | number | symbol, object: object): key is keyof object

}

let mySearch: SearchFunc = function(key, object) {

return key in object;

}

typescript 接口申明函数类型错误

typescript 接口申明函数类型错误

typescript 接口申明函数类型错误

在vue3的为 globalProperties 扩充类型中也有问题

typescript 接口申明函数类型错误

typescript 接口申明函数类型错误


回答:

因为 类型谓词 和 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 接口申明函数类型错误

这样可以,具体的原理我也不太懂

以上是 typescript 接口申明函数类型错误 的全部内容, 来源链接: utcz.com/p/937426.html

回到顶部