【TypeScript】类型收窄
在TypeScript中,类型收窄是一个重要的概念,它指的是在程序执行过程中,变量的类型逐渐窄化,最终固定在一个更具体的类型上。
以下是一个使用类型收窄的例子:
function getLength(input: string | number): number {
if (typeof input === "string") {
return input.length;
} else {
return input.toString().length;
}
}
在这个例子中,input
参数的类型是string | number
,也就是说它可以是一个字符串或者数字。在函数体内,我们使用了typeof
来检查input
的类型,并据此进行了类型收窄。当input
是字符串时,我们直接返回它的长度;当input
是数字时,我们首先将其转换为字符串,然后返回字符串的长度。这样,在函数的不同执行路径上,input
的类型都被窄化到了更具体的类型string
或number
。
评论已关闭