Hola, mi nombre es Mark Nair y en estas lecciones aprenderás aprenda sobre tipos complejos, incluidos tipos literales, enumeraciones, tuplas, tipos de matrices, uniones y el operador de clave de tipo. Cuando decimos la palabra tipo, la mayoría de las veces nos referimos a un tipo primitivo, como una cadena o un número. Al menos lo hacemos al principio. A veces, sin embargo, es un tipo que creamos nosotros, como una interfaz. Echemos un vistazo a un tipo rápido. Entonces este es un nombre de usuario de tipo cadena. Por ahora, bastante fácil. A veces, sin embargo, desea un valor específico como tipo, como esto. Entonces, en lugar de cadena, ahora el nombre de usuario es del tipo Kramer. No es el valor de Kramer, porque no le hemos dado ninguna valor o asignarlo aquí con el operador de asignación. Si paso el nombre de usuario, aquí dejo el tipo de nombre de usuario Kramer. Pero, ¿qué es Kramer, excepto una cadena que escribí? Y podrías pensar, si necesito limitar un tipo a algo literal, que esto es exactamente lo que es, un tipo literal. Entonces, de ahora en adelante, digamos que no puedo hacer algo como esto. No puedo darle un valor diferente. No funcionará porque el nombre de usuario dice que no se puede asignar a tipo Kramer, aunque jerry es el contenido. Jerry no es del tipo Kramer. Realmente no sabemos qué tipo es Kramer. Simplemente sabemos que Jerry no es eso. Quizás estés pensando, si necesito limitar un tipo a algo literal, ¿por qué no uso una constante? Bueno, es una buena pregunta, pero digamos que necesitas varios literales en un objeto. Por ejemplo, echemos un vistazo a esto. Simplemente deshazte de esta línea y crearé un nuevo objeto llamado persona. Y realmente definámoslo. ¿Sabes qué? Incluso antes de hacer eso, voy a venir. hasta aquí para la línea uno. En lugar de decir let nombre de usuario, en realidad voy a hacer este es un tipo. La forma en que lo haré es usar el tipo de palabra clave. Ahora, cuando hago un tipo, quiero ponerlo en mayúscula para poder decir que eso es un tipo y no otra cosa. Así que aquí abajo, el nombre ahora es del tipo aquí. Bueno, entonces necesito atribuir esto ahora a un valor. Ahora, aquí tengo mi nombre es del tipo Kramer porque aquí arriba, nombre de usuario Kramer. Esto, por cierto, se llama usando un alias de tipo. Sólo lo estoy colocando aquí, pero es lo mismo que tenía Hace un segundo. Muy bien, he configurado mi persona con mi arquitectura. aquí, mi forma del objeto. Ahora para darle información real. Así que tomemos un segundo para reforzar algo de esto. He creado un nuevo tipo aquí llamado nombre de usuario. Ahora bien, ese tipo realmente tiene un valor literal, un valor literal. tipo de Kramer. Ahora he definido la forma de mi objeto aquí. Lo he definido con mis dos propiedades. El nombre es del tipo nombre de usuario, que en realidad es del tipo Kramer. debido a este tipo de negocio de alias aquí en la línea uno. Entonces usar una camisa hinchada es de tipo booleano. Luego le di algunos valores aquí. Se llama Kramer y lleva una camisa hinchada falsa. Siempre caigo en el problema de olvidarme de poner las comas. en las cosas y tú también podrías hacer eso. Si te encuentras con la situación, obtienes un error, generalmente es eso problema sintáctico. Pero de todos modos, aquí mismo, el único nombre de usuario que puedo introducir aquí. es Kramer. Si intento algo más, Recibiré un error. Y el error aquí dice que el tipo Elaine no es asignable. para escribir Kramer. Nuevamente, ¿qué es el tipo Kramer? Todo lo que es es un tipo literal de cadena. Y Elaine no es eso. Y realmente lo único que es eso es la cuerda Kramer. Y lo ves en la ventana emergente. Entonces, al completar el código, recibo este Kramer muy útil. Eso es todo. Entonces eso funciona bien. Pero podemos ampliar este tipo de alias para hacerlo un poco más que Kramer, pero mucho menos que otras cosas. Y la forma en que lo hacemos es usar el símbolo de la tubería. Y este dirá o. Ahora puedo decir que el tipo literal es Kramer o Elaine o George o Jerry. Y entonces es perfectamente legítimo que aparezcan todos estos. aquí como el valor del nombre. Exploremos eso solo un poquito. Subiré con mi cuerda. Ahí está Elaine. Ahí está George para la G. Alemán. Pero si escribo P para algo como Paul, hay no p. Quiero poner tipografía en Joanna. Todo lo que tengo es Jerry. Escribe Alita. Bueno, no puedo hacer eso porque Alita no se puede asignar para escribir. nombre de usuario. Lo único que puedo hacer son los ores en la cadena, el tipos literales, los valores de cadena que he dado aquí. Entonces esto solo significa que puedo poner a George y funciona perfectamente. bien. Entonces esa es la razón por la que nos damos un poco más flexibilidad en el uso de tipos literales, aunque estemos literalmente dándole el tipo de solo una serie de personajes, que no tiene significado en un tipo. Pero para nosotros ese es el significado. Entonces nuestro tipo literal es este contenido aquí o esto o esto o eso. Y podemos alternarlos o podemos usarlos. Entonces, si solo queremos tener una serie de personas y simplemente Sé que estará entre esos cuatro nombres y usará un camisa hinchada es el booleano entre esos cuatro. Esa es una excelente manera de hacerlo. Gracias por ver. Estén atentos a la próxima lección donde les mostraré cómo enumerar Los tipos funcionan en TypeScript.