如何解决我可以提高ReturnType的特异性水平吗?
在下面的代码中,myType
设置为{ type: string; count: number }
。
我希望它更具体:{ type: 'A',count: 5 }
。有没有办法告诉ReturnType做到这一点?
const myFunction = () => ({type: 'A',count: 5});
type myType = ReturnType<typeof myFunction>;
解决方法
我认为不可能在ReturnType<T>
端这样做,因为到那时,myFunction
的类型已经被推断出来,而这些细节实际上已经丢失了。
或者可以使用as const
:它将指示编译器推断尽可能具体的类型:
const myFunction = () => ({type: 'A',count: 5} as const);
type myType = ReturnType<typeof myFunction>;
参考:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。