Function 如何定义不能在TypeScript中返回任何内容的函数
我正在编写一个API,它有两个非常类似的函数:Function 如何定义不能在TypeScript中返回任何内容的函数,function,typescript,return-type,Function,Typescript,Return Type,我正在编写一个API,它有两个非常类似的函数: function update(f: () => string) {...} function updateDeep(f: () => void) {...} 如您所见,我试图确保API的客户端根据调用的函数传递正确的函数类型 第一个功能,update,按预期工作。这将正确地引发编译错误: update(() => console.log('hey')); 第二个函数,updateDeep,不会引发编译错误事件,尽管它应该:
function update(f: () => string) {...}
function updateDeep(f: () => void) {...}
如您所见,我试图确保API的客户端根据调用的函数传递正确的函数类型
第一个功能,update
,按预期工作。这将正确地引发编译错误:
update(() => console.log('hey'));
第二个函数,updateDeep
,不会引发编译错误事件,尽管它应该:
updateDeep(() => 'hey');
如何声明不返回任何内容的函数类型?不可能做到这一点。作为函数的接收者,您唯一的能力是设置函数类型的下限
另请参见TypeScript常见问题解答条目:不可能做到这一点。作为函数的接收者,您唯一的能力是设置函数类型的下限
另请参见TypeScript常见问题解答条目:谢谢。我想我会用运行时检查代替。谢谢。我想我将使用运行时检查。