Tuesday, April 15 2025

Javascript + Types

 

Javascript es un lenguaje de programación que domina en el área web; pero eso no quiere decir que Javascript sea un lenguaje perfecto. Hace algunos años, un grupo de desarrolladores decidió crear Typescript. Typescript es un superset de Javascript. Es decir, Typescript puede correr exactamente el mismo código que Javascript y más.

¿Cuál es la razón por la que todo el mundo está usando Typescript? Si miramos en los resultados de las encuestas anuales de State of JS, un 69% de las personas encuestadas dicen que utilizan Typescript. Aunque no hay estadísticas concretas de porqué Typescript en State of JS, la característica que la mayoría de encuestados consideraban más importante que faltaba en Javascript fue tipado estático, uno de los beneficios de Typescript.

Bueno, puede que Typescript sea muy usado, pero muchas personas prefieren utilizar Javascript regular para muchas aplicaciones. Javascript no tiene necesidad de ser compilado, necesita menos configuración, puede ser ejecutado directamente desde el navegador, etcétera.

A todo esto, nació la propuesta Types as Comments. Esta nueva propuesta consiste en agregar anotaciones de tipo a Javascript, muy similar a Typescript. Estas nuevas anotaciones funcionarían similar a Type Hints de Python. Básicamente, servirían para que tu IDE de programación lea estas pistas y pueda avisarte de posibles errores antes de correr el código.

Tener algún problema con los tipos estáticos no lanzaría ningún error, sería algo similar a un comentario. Para lanzar errores de tipados estáticos sería necesario cambiar drásticamente la manera en la que Javascript está escrito. Además, básicamente rompería el internet. Cualquier aplicación que haya sido escrita con Javascript sin tipado estático dejaría de funcionar.

Aunque esta propuesta me pone emocionado sobre el futuro de Javascript, todavía se encuentra en fase 0. Es decir, ni siquiera se ha presentado la propuesta a TC39. Todavía faltan muchos años para que sea aceptada y aún más para que sea implementada en navegadores web.

 - Oz

Leave a Comment

No hay comentarios:

Con la tecnología de Blogger.