我正在学习Angular并阅读文档,但我很困惑为什么在下面的product
变量声明中使用按位或操作符。product: Product | undefined
线是什么意思?
export class ProductDetailsComponent implements OnInit {
product: Product | undefined;
/* ... */
}
在这种情况下,它不是OR操作符,而是"联合类型"。
在TypeScript中,联合类型变量是一个可以存储多种类型的值(如数字、字符串等)。
联合类型允许我们定义具有多个类型的变量。的联合类型变量使用管道('|')符号between定义类型。
来源:https://howtodoinjava.com/typescript/union-types/
这意味着产物必须是Product
或undefined
类型。(未定义部分仅在启用strictNullChecks
时才相关)。
另一种写法是
product?: Product;
其中问号表示可选参数