问题描述
test函数无法根据参数对象中的布尔值状态返回具体类型
相关代码
interface Result {
isSuccess: boolean
}
interface Success {
success: string
}
interface Error {
error: string
}
function test(result: Result = { isSuccess: true }): Success
function test(result: Result = { isSuccess: false }): Error
function test(result: Result): unknown {
const success: Success = {
success: '成功'
}
const error: Error = {
error: '失败'
}
return result.isSuccess === true ? success : error
}
你期待的结果是什么?
我希望能够 isSuccess 为真的时候返回 Success 为假的时候返回 Error
不能直接用 Error 当 interface,给你改了下名字
在线运行地址