Crea una cuenta y continúa aprendiendo 🚀

Regístrate o inicia sesión para continuar aprendiendo:

Frontend Aprendiz

Union

Veamos cómo podemos unir múltiples tipos al momento de definir nuestras variables.

¿Cómo podemos corregir este error?

Cuando estamos programando una aplicación, podría ocurrir que un tipo de dato user no tenga un atributo email, lo que generaría un error. Si no lo necesitamos, simplemente lo eliminamos. Pero si es un nuevo requerimiento y queremos que los usuarios tengan un email, debemos declararlo como un string.

Agregando un usuario adicional

Supongamos que queremos agregar otro usuario con un nombre e ID distintos. En nuestra aplicación, el correo es opcional, por lo que podríamos asignarle 0.

Sin embargo, esto genera un error: "El tipo 0 no se puede asignar al tipo `string".

¿Por qué ocurre este error?

El problema es que User2 es un user, y según la definición, email debe ser un string.

Al asignarle un 0, el tipo de dato no coincide con la definición establecida.

Posibles soluciones

  1. Pasar una cadena vacía (""): Esto evitaría el error, pero no representaría de manera explícita que el usuario no tiene correo.
  2. Usar el operador union: Nos permite definir múltiples tipos para una misma propiedad.

Implementando union

Si usamos union, podemos hacer que email acepte tanto string como 0, permitiendo asignar valores flexibles sin generar errores.

De esta manera, email puede recibir ambos valores sin conflictos.

Esta lección no cuenta con recursos adicionales.

Si crees que hace falta algo, o necesitas ayuda, puedes publicar una pregunta en el foro.

¿Cómo podemos corregir este error? Si nosotros estamos programando una aplicación y nos encontramos con este error nos daremos cuenta que un tipo de dato user no tiene un atributo email y entonces lo borraremos sin embargo si es un nuevo requerimiento y queremos que los usuarios tengan un email en ese caso vamos a declararlo como un stream hasta aquí todo muy bien porque este usuario ya cumple con lo que define el tipo user vamos a agregar un usuario más y vamos a ponerle un nombre distinto además de un ID distinto en este caso supongamos que para nuestra aplicación el correo es opcional entonces aquí pondremos 0 y nos encontramos con un nuevo tipo de error y el tipo 0 nos dice que el tipo 0 no se puede asignar al tipo string ¿Qué pasa aquí? User2 es un user por lo tanto email se define como string y aquí le estamos pasando un 0 el tipo que le estamos asignando no coincide con su definición entonces tenemos que corregir esto ¿De qué manera lo corregimos? una opción sería pasar una cadena vacía sin embargo nosotros queremos que sea 0 para indicar con esto que este usuario no tiene un correo entonces ¿De qué manera podemos corregir este error? ¿De qué manera podemos adaptar nuestro tipo de dato? Pues, existe algo llamado union. Si nosotros usamos union nosotros podemos definir múltiples tipos para una misma propiedad por ejemplo el email ahora en adelante será string pero también puede ser 0 si usamos este operador de union el email podrá recibir valores que sean string o que sean 0 ya tiene dos tipos asignados de esta manera email puede recibir tanto este valor como este otro.

¿Tienes dudas?

Publicar pregunta

¡Comparte conocimiento!

X

Volver al índice

Regístrate

Inicia sesión para llevar un control de tu progreso.

Capítulos









09

Union



















































































































Espera un momento 🎁 ...

¿Te gustaría aprender a programar, gratis?

Mago de Programación y más

Sólo debes registrarte 😉.