Saltar al contenido

Error de mecanografiado Esta condición siempre devolverá ‘true’ ya que los tipos no se superponen

Hola, hallamos la solución a tu pregunta, has scroll y la verás aquí.

Solución:

Considere la expresión independiente:

(this.frType!="Child" || this.frType!="Infant")

Si frType es Childla segunda parte será truepor lo que la expresión se evaluará como true. Si frType es Infantentonces la primera parte será truepor lo que la expresión se evaluará como true. Si frType es ninguno de los dosChild ni Infantentonces la primera parte será truey la expresión, de nuevo, se evaluará como true – la lógica es defectuosa, siempre se resolverá true.

(Si agrega más || condiciones para Grandchild y Cousinsigue ocurriendo lo mismo: siempre se resolverá true)

Cualquiera de los usos && en lugar de:

|| (age<=5 && (
   this.frType!="Child" 
   && this.frType!="Infant" 
   && this.frType!="Grandchild"
   && this.frType!="Cousin"
 ))

O, para que la lógica sea más fácil de seguir, podría considerar usar un arrayy use .includes:

const kidsFiveAndUnder = ['Child', 'Infant', 'Grandchild', 'Cousin'];
// ...
|| (age <= 5 && !kidsFiveAndUnder.includes(this.frType))

Tal vez pueda ayudar a alguien con esto.

En mi caso, el error fue provocado por:

*ngIf="fooArray.length === 0"

así que lo modifiqué para que sea:

*ngIf="fooArray.length < 1"

No tiene sentido para mí, pero funciona.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *