TypeScript中的联合类型
来自菜鸟教程
在 TypeScript 中,您可以使用联合类型来描述可以属于一种以上类型的值。 因此,它允许避免使用 any。 使用 | 字符定义联合类型以分隔不同的可能类型。
例如,假设函数定义使用的参数描述的值可以是字符串或数字。 而不是这个:
function add(v1: any, v2: any) { let value1 = typeof v1 === "string" ? +v1 : v1; let value2 = typeof v2 === "string" ? +v2 : v2; console.log(value1 + value2); } add(23, "32"); // 55 add(23, true); // No error when passing non-string or number value
你可以这样做:
function add(v1: number | string, v2: number | string) { let value1 = typeof v1 === "string" ? +v1 : v1; let value2 = typeof v2 === "string" ? +v2 : v2; console.log(value1 + value2); } add(23, "32"); // 55 add(23, true); // Error when passing non-string or number value