Estoy aprendiendo Angular y leyendo la documentación, pero estoy confundido por qué se usa el operador OR bit a bit en la declaración de la variable del product a continuación. Qué significa el product: Product | undefined línea product: Product | undefined significa?
export class ProductDetailsComponent implements OnInit { product: Product | undefined; /* ... */ }En ese contexto, no es el operador OR sino un "Tipo de unión".
En TypeScript, una variable de tipo unión es una variable que puede almacenar varios tipos de valores (es decir, número, cadena, etc.).
Un tipo de unión nos permite definir una variable con múltiples tipos. Las variables de tipo de unión se definen mediante el símbolo de barra vertical ('|') entre los tipos.
Fuente: https://howtodoinjava.com/typescript/union-types/
Esto significa que el producto debe ser de tipo Product o undefined . (la parte indefinida solo es relevante si tiene habilitados los strictNullChecks ).
Otra forma de escribir esto es
product?: Product;Donde el signo de interrogación indica que es un parámetro opcional.