我偶然发现了以下问题,我想知道这到底是错误还是故意的,我误解了某些typescript行为:
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 不会引发编译错误怎么办?