这会产生预期的错误:
type Paulo = {
prop: string,
otherValueOf: string,
}
type Treta = Record<keyof Paulo, () => Object>
const ugulha : Treta = { //Error: Property 'otherValueOf' is missing
prop: () => 1,
}
但这很好:
type Paulo = {
prop: string,
valueOf: string,
}
type Treta = Record<keyof Paulo, () => Object>
const ugulha : Treta = {
prop: () => 1,
}
可能没有人会调用道具valueOf
,但也许我缺少一些机制
每个 javascript 对象1自动继承一个
valueOf
属性:Object.prototype.valueOf()。事实上,它ugulha
有一个valueOf
属性,并且该值是一个返回 的函数Object
,它与您的类型定义相匹配。请注意,例如以下代码执行时不会出错:
1) 具有
null
原型的对象除外