【发布时间】:2020-07-08 22:59:32
【问题描述】:
我这里有这个函数,第一个参数类型取决于第二个参数是真还是假
所以如果 userExists 为真,数据应该是一个字符串,否则是一个数字。但我一直看到错误。
谁能帮忙解决我哪里出错了?
type DataType<T> = T extends boolean ? string : number
const makeUsername = async <T extends boolean>({
data,
userExists,
}: {
data: DataType<T>,
userExists: T
}) => {
if (userExists) {
// data type should be string
} else {
// data type should be number
}
}
【问题讨论】:
标签: typescript generics types conditional-statements