Sergio Esteban Diaz Guerrero
PreguntaChicos en Angular 11 no deja hacer la definición de tipo sin asignar valor
Este es el error
error TS2322: Type ‘Product | undefined’ is not assignable to type ‘Product’.
Type ‘undefined’ is not assignable to type ‘Product’.
Mi solución fue dejarle un any en lugar de product, pero, alguno sabe de alguna forma mas elegante de solucionar estas cosas ?

Cristian Blandón
La idea es no quitar el strict, justamente porque TypeScript provee una ventaja para evitar errores en tiempo de desarrollo. En mi caso, lo solucioné simplemente inicializando products a un array vacío:
products: Product[] = [];
Sin cambiar nada de la configuración de TypeScript... Teniendo en cuenta que lo único que te piden es inicializar el atributo.
Sergio Esteban Diaz Guerrero
Chicos muchas gracias a todos, yo lo solucione con el !

jorge llanque
Yo lo solucioné así
product: Product | undefined;
Daniel Meza
Es parte de que trabajemos estrictamente con el tipado. Y como lo menciona @Andresdst. Se soluciona colocando el signo cierre de admiración. Esto le dice a angular "No te preocupes, todo estará bien"
Otra de las soluciones es la de @AlexFalcon. Y es deshabilitar el modo estricto.
Otra solución, es inicializarlo. No estoy seguro si ahí mismo o desde el constructor. Pero hazlo, lo más seguro es que definas eso después, por lo que podrías inicializarlo con un 'null'

Andres David Sanchez
o al declarar la variable product especificas su tipo de la siguiente forma: product!: Product

Alex Stefano Falcon Flores
Ve a tsconfig.json y ya dentro buscas "strict": true si te aparece en true , cambialo a false guardas y listo. No tendrias probblemas al declarar Product.