Espera un momento 🎁 ...
¿Te gustaría aprender a programar, gratis?
Sólo debes registrarte 😉.
Regístrate o inicia sesión para continuar aprendiendo:
Veamos cómo podemos unir múltiples tipos al momento de definir nuestras variables.
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
.
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".
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.
""
): Esto evitaría el error, pero no representaría de manera explícita que el usuario no tiene correo.union
: Nos permite definir múltiples tipos para una misma propiedad.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 preguntaRegístrate
Inicia sesión para llevar un control de tu progreso.
Capítulos
06
08
09
30
35
38
44
48
49
56
79
81
82
84
99
107
112
119
Estás viendo un capítulo de la serie Aprende Vue 3, Vite, VueRouter, Vuetify, Pinia y TypeScript
Espera un momento 🎁 ...
¿Te gustaría aprender a programar, gratis?
Sólo debes registrarte 😉.