【发布时间】:2022-11-14 19:13:26
【问题描述】:
我指定该变量数可以是字符串和数字,前两个 if-else 情况也可以。但是我在 console.log 行中遇到错误:类型 never 上不存在属性值。
type Num = string | number
const num: Num = 10 as Num
if (typeof num === 'string') {
num.toLowerCase() // ok
} else if (typeof num === 'number') {
num.toPrecision(2) // ok
} else {
console.log(num.value.toLowerCase()) // error
}
我不明白。什么类型应该是 num 才不会出错?我应该使用泛型吗?
【问题讨论】:
-
如果它有一个
value属性,那么它是什么类型?定义该类型。将该类型用作Num的一种可能类型。
标签: typescript typeof