在 TypeScript 中,&
和 |
是两个不同的类型操作符,用于处理交叉类型和联合类型。
&
用于创建交叉类型,合并多个类型的属性。
如果一个值的类型是交叉类型 A & B,那么该值必须同时满足类型 A 和类型 B 的要求。
type A = { propA: number };
type B = { propB: string };
type C = A & B;
// 结果类型 C:
// { propA: number, propB: string }
|
用于创建联合类型,表示一个值的类型可以是多个类型之一。
如果一个值的类型是联合类型 A | B,那么该值可以是类型 A 或者类型 B 中的任意一种。
type A = { propA: number };
type B = { propB: string };
type C = A | B;
// 结果类型 C:
// { propA: number } | { propB: string }
ts中type和interface类型声明的区别?