33
我有这样的情况下:打字稿功能箭头表达返回对象
interface MoverShaker {
getStatus(): { speed: number; frequency: number; };
}
function GetMoverShaker() : MoverShaker {
return {
getStatus:() => { speed: 2, frequency: 3 }
}
}
我得到这样的误差:名称“频率”在当前范围内不存在。在TypeScript中可以这样做吗?如果我使用这种结构则一切正常:
function GetMoverShaker(): MoverShaker {
return {
getStatus:() => {
return { speed: 2, frequency: 3 }
}
}
你也可以通过转换来做到这一点。 '()=> {x:1,y:1}' –
我不喜欢投射*任何*。实际上,我在刚刚添加一个新属性到接口时,通过强制转换为所需的输出接口类型而被咬伤。当我从(任何)对象文字中进行显式转换时,即使字面值缺少新属性,VS Code也没有标记任何错误。 – superjos