为什么在变量声明中使用按位或操作符?



我正在学习Angular并阅读文档,但我很困惑为什么在下面的product变量声明中使用按位或操作符。product: Product | undefined线是什么意思?

export class ProductDetailsComponent implements OnInit {
product: Product | undefined;
/* ... */
}

在这种情况下,它不是OR操作符,而是"联合类型"。

在TypeScript中,联合类型变量是一个可以存储多种类型的值(如数字、字符串等)。

联合类型允许我们定义具有多个类型的变量。的联合类型变量使用管道('|')符号between定义类型。

来源:https://howtodoinjava.com/typescript/union-types/

这意味着产物必须是Productundefined类型。(未定义部分仅在启用strictNullChecks时才相关)。

另一种写法是

product?: Product;

其中问号表示可选参数

最新更新