【TypeScript】类型收窄
warning:
这篇文章距离上次修改已过453天,其中的内容可能已经有所变动。
在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。
评论已关闭