在TypeScript中,可以使用联合类型(Union Types)来表示参数可以是字符串或数字。联合类型使用竖线(|)分隔多个类型。
例如,如果一个函数的参数可以是字符串或数字,可以这样定义函数的类型:
function processInput(input: string | number): void {
// 在函数体内根据参数的类型进行不同的处理
if (typeof input === 'string') {
// 处理字符串类型的参数
console.log('输入的是字符串:', input);
} else {
// 处理数字类型的参数
console.log('输入的是数字:', input);
}
}
在上述例子中,input
参数的类型被定义为string | number
,表示它可以是字符串或数字。在函数体内,可以使用typeof
运算符来判断参数的类型,并根据类型进行不同的处理。
对于返回值的类型,TypeScript会根据条件判断自动推断出返回的类型。在上述例子中,由于在条件判断中分别处理了字符串和数字类型的参数,TypeScript会推断出函数的返回类型为void
。
如果需要显式指定返回值的类型,可以使用类型注解(Type Annotations)来指定:
function processInput(input: string | number): string | number {
if (typeof input === 'string') {
return '输入的是字符串';
} else {
return 100;
}
}
在上述例子中,函数的返回类型被显式指定为string | number
,表示返回值可以是字符串或数字。
总结起来,通过使用联合类型,可以让TypeScript知道参数可以是字符串或数字,并根据条件判断返回的类型。
领取专属 10元无门槛券
手把手带您无忧上云