typescript - 高阶函数返回类型 void 被忽略
问题描述
我偶然发现了以下问题,我想知道它实际上是一个错误还是它是故意的,我误解了一些打字稿行为:
function foo(): void {
return ''
}
编译错误(预期)
function bar(): () => number {
return () => ''
}
编译错误(预期)
function baz(): () => string {
return () => ''
}
没有编译错误(预期)
function qux(): () => void {
return () => ''
}
没有编译错误(非预期)
正如我们在上面看到的:
foo
类型说return void
(什么都没有)但是函数returns a string
[编译错误预期]bar
类型说return a function that returns a number
但是returns a function that returns a string
[编译错误预期]baz
类型说return a function that returns a string
并这样做[没有预期的编译错误]qux
类型说return a function that returns void
(什么都没有)但是returns a function that returns a string
[编译错误预期]
qux没有抛出编译错误是怎么发生的?
解决方案
推荐阅读
- php - Laravel连接到sqlite:无法建立连接,因为目标机器主动拒绝它
- android - Android - 通知不会出现在状态栏中
- php - 小部件问题 - WordPress
- php - 将帖子元自定义字段复制到其他自定义字段
- c - 在 Linux 内核模块(驱动程序)临界区等待用户空间输入
- javascript - Firebase 实时数据库连接数据 - 网络
- python - 刮亚马逊交易页面
- r - 在 r 中跨多行分布 data.frame 数据
- ios - 如何在 swift 中从图像创建圆形加载器
- postman - POSTMAN - 从 HTML 正文响应中提取 sessionid 的值