联合类型的语法
联合类型的语法很简单,只需要使用符号 |
将不同的类型分隔开即可。如果我们有一个变量可能是一个字符串或一个数字,我们可以这样定义:
let value: string | number;
使用联合类型
定义变量
当不确定一个变量的具体类型时,联合类型可以派上用场。比如:
function getFirstCharacter(input: string | null): string | null {
if (input === null) {
return null;
}
return input.charAt(0);
}
在这个例子中,input
可能是一个字符串或 null
,而函数的返回值也可能是 string
或 null
。
函数参数和返回类型
联合类型同样适用于函数的参数和返回类型:
function combineValues(x: number | string, y: number | string): number | string {
if (typeof x === 'number' && typeof y === 'number') {
return x + y;
}
return `${x}${y}`;
}
这里,combineValues
可以接受数字或字符串作为参数,并且返回值也可能是数字或字符串。