SOLVED | Type 'undefined' is not assignable to type in TypeScript

 


A continuación un ejemplo como se produce el error

interface Employee {
  id: number;
  name: string;
  salary?: number;
}

La propiedad salary es marcada como opcional en la interface Employee. Esto significa que la propiedad puede almacenar un valor number o un valor undefined

Vamos a definir una variable salary



salary se define como number, por lo que solo espera que se le asigne un valor que sea number.

TypeScript nos dice que la propiedad emp.salary puede tener un valor undefined, que no es compatible con el tipo de la salary que solo espera un number

Una forma de resolver este error es con el operador non-null assertion (!)

const salary: number = emp.salary!; // 👈️ non-null assertion

Con esto, básicamente le decimos a TypeScript que este valor nunca será null undefined.

Comentarios