es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La clase TypeScript que implementa una interfaz con un campo de tipo de unión produce un error (2322).

No entiendo por qué está ocurriendo el error 2322.

Por favor, examine el siguiente fragmento de código:

interface Fish {
  alive: string | boolean;
}

class FishClass implements Fish {
  alive  = 'Sí';

  constructor() {
    // Type 'boolean' is not assignable to type 'string'.(2322)
    this.alive = true;
  }
}

La interfaz define el tipo de unión para cadena o booleano.

¿Por qué se fija el tipo al asignar uno de los dos posibles tipos al campo dentro de la clase que implementa la interfaz?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El error está ocurriendo porque estás intentando asignar un valor boolean al campo alive, el cual está definido como un tipo unión string | boolean. Debido a que el campo alive está definido como un tipo unión, solo puede aceptar un valor string o boolean. Por lo tanto, necesitas asignar un valor string o boolean al campo alive.

Comments are closed.