logo

midulive


Transcribed podcasts: 605
Time transcribed: 13d 3h 7m 36s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Las novedades de TypeScript, amigos, se acercan a una nueva versión de TypeScript, no para TypeScript, cada 2x3 es una versión nueva, versión nueva, versión nueva, y viene la versión 5.3, ya está en beta y vamos a ver por encima las novedades.
La primera es los import attributes. Los import attributes, esto es muy interesante porque no es una cosa que sea de TypeScript, sino que es una cosa de JavaScript, del lenguaje de JavaScript, y es una cosa que vas a tener que aprender porque cada vez lo vamos a utilizar más.
¿De qué trata esto? Pues los import attributes lo que te permite es importar archivos que no solo sean de JavaScript o de TypeScript, sino que también puedas importar JSON de forma nativa.
Y esto, si habéis hecho el curso de Node.js que estamos haciendo los jueves, vamos a tener el de tiempo real para hacer chats y aplicaciones con real time, pues lo que pasa es que si utilizas el import en Node, no tienes la posibilidad de importar un archivo con JSON.
Pues esto lo van a arreglar justo con los import attributes, ¿vale? Esta propuesta lo que dice es que tú puedes hacer un import de un JSON, pero le tienes que decir cuál es el formato que tengas que quieres cargar.
En este caso, pues el formato es JSON. La razón de esto lo tienes aquí, dice, solo queremos interpretar este archivo como JSON, no queremos ejecutar ningún JavaScript maligno que pueda tener una extensión .json.
Si tú no pones esto, lo que podría ocurrir es que este JSON pudiera tener .json, fuese contenido de JavaScript y te inyectasen código malicioso.
De hecho, si te preguntas quién ha hecho esta idea, esto es una idea de Apple en su día, ¿vale? Para que lo sepáis.
Más cositas. Switch. A ver, no es que sea nuevo el switch, pero sí el tipo de narrow, o sea, el hecho de entender cuáles son los tipos que hay dentro de un switch true.
Porque antes no se podría saber, por ejemplo, este switch que es true, que esta condición siempre es true, esto es un patrón que se utiliza...
Yo no soy muy fan, la verdad, yo no soy muy fan de este patrón porque, sinceramente, hay como mejores formas de escribir esto, pero bueno, no sé.
Hay gente que le encanta este switch true, de hecho hay gente que se pone muy becerra con esto, o sea, como que, ya, utiliza esto, que esto es lo mejor del mundo.
Bueno, no sé, a mí no me gusta. Para mi opinión, ¿eh? Que aquí cada uno que haga lo que quiera. Pero yo prefiero, para eso, utilizar un if de toda la vida y ya está.
Y al final lo que puedes hacer para hacer esto, haces esto y ya está. Y uno detrás de otro. Y si no, puedes hacer return dentro, lo que sea. Y si no, hay otras estructuras incluso mejor.
Pero bueno, esto es un patrón que hay gente que le gusta, donde tú pones switch true para que entre siempre y dentro del case es donde pones como la condición, ¿no?
Y aquí, pues pones en el caso de que esto sea así, pues vale, pues se pone así. No está mal, ¿vale? A quien le guste, pues fantástico.
Pero el tema es que hasta hace poco, aquí dentro no sabía inferir el tipo y tenías que hacer un montón de cosas, tenías que hacer algunos hacks y no funcionaba correctamente.
En la nueva versión, por suerte, ¿ves? Ya puedes saber los tipos que hay dentro de cada case, porque gracias a esta condición lo estás detectando.
Antes esto no ocurría y era un poco rollo. Os voy a contar una cosa bastante interesante.
Ya sabéis que el editor de Visual Studio Code utiliza por detrás TypeScript. No sé si lo sabías, pero Visual Studio Code está escrito todo en TypeScript.
Y una de las cosas buenas es que muchas de las funcionalidades que podéis ver aquí, por ejemplo, aunque utilicéis JavaScript, os lo voy a poner por aquí.
Si utilizamos index.js y tú pones const igual hola, ¿vale? Aunque tú utilices JavaScript, lo bueno es que fíjate que ya sabe que la A es de tipo string, ¿vale?
Bueno, A no nos saldrá porque no le da la gana, a ver. Pero ya sabe que es del tipo string, ¿ves? Tipo string. Y esto lo hace porque está funcionando con TypeScript.
Y va a venir una mejora muy interesante que van a ser los inline hints interactivos. ¿Qué quiere decir esto? Esto es que a partir de los tipos interactivamente vas a ver y vas a poder ir a la definición.
Imagina este ejemplo. Tú estás haciendo aquí un points y lo estás como iterando con un map y esta P sabe que es del tipo point, ¿no? Porque lo tienes aquí.
Pero fíjate que aquí aparece como un comentario un poco raro. Esto es una cosa nueva que va a tener TypeScript que ya estaba en otros editores como JetBrains, que tenía como esta sugerencia del tipo que tenía.
Y esto por fin va a llegar a Visual Studio Code. Lo digo porque antes no estaba y esto es una de las razones que mucha gente utilizaba a otros editores, pues que sepas que llega a Visual Studio Code en la próxima versión de TypeScript.
Fíjate lo que tienes, que ahora te va a decir, oye, pues esta P, que sepas que es un point, aunque no lo pongas, porque yo lo sé, y al darle clic, pues te lleva a la interfaz.
Lo cual está súper, súper bien, ¿vale?
Los hints son viejos, solo hay partes que no están bien explícitos. Bueno, no, los hints. Sí que hay veces que tienen los hints, pero en este caso no te permitía ir a la definición del tipo.
No solo era que fuese un hint, sino que sea interactivo, ¿vale? El type hint ya estaba, pero el hecho de que tú le puedas dar clic y te lleva a la interfaz no existía.
No eran interactivos, por eso digo que lo nuevo es que sean interactivos. No es que sean inline hint y ya está. El inline hint lo podéis activar ya, si queréis.
Lo que pasa es que es fijo, es estático y no puedes hacer absolutamente nada. Ahora no solo te aparece, sino que le puedes dar clic y te lleva a la interfaz.
Que esto sí que lo tenía, por ejemplo, JetBrains. No sé si, yo creo que sí que lo tenía, o me da la sensación que sí que lo tenía.
Pero bueno, que ahora lo vamos a tener. Y bueno, hay unas mejoras de rendimiento, de que han hecho TypeScript que sea más pequeñito, ¿vale?
Ya sabéis que no paran de mejorar continuamente el rendimiento y también que cada vez lo hagan más pequeño.
Y fijaos que están haciendo TypeScript que ahora ocupe empaquetado un mega menos, que es un 20% de diferencia.
Lo cual no está mal, ¿eh? 20% menos, pues perfecto.