Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Introducción a TypeScript

Contenidos
  1. ¿Por qué es TypeScript?
  2. Tipado estático
  3. Organización y herramientas

¿Por qué es TypeScript?

TypeScript es un lenguaje de programación de tipado estático que se compila a JavaScript. Fue desarrollado y mantenido por Microsoft, y se ha convertido en una de las opciones más populares para el desarrollo de aplicaciones web y de escritorio.

El problema que resuelve TypeScript es el de proporcionar una forma de escribir código JavaScript con un mayor control y seguridad en cuanto a los tipos de datos que se utilizan. JavaScript es un lenguaje dinámico, lo que significa que no se especifican los tipos de datos al declarar variables o funciones. Esto puede llevar a errores y bugs difíciles de detectar en tiempo de ejecución.

TypeScript resuelve este problema al proporcionar un sistema de tipado estático que permite especificar los tipos de datos en tiempo de compilación. Esto hace que el código sea más fácil de leer, entender y mantener, ya que se pueden detectar errores y advertencias antes de que el código se ejecute.

Además, TypeScript es compatible con las últimas versiones de JavaScript, lo que significa que puedes utilizar todas las nuevas características y funcionalidades de JavaScript mientras trabajas con TypeScript. También ofrece una amplia variedad de características adicionales, como la posibilidad de crear clases, interfaces y módulos, lo que lo hace una opción muy atractiva para los desarrolladores que buscan un lenguaje más avanzado y con un mejor control de tipos.

Tipado estático

Uno de los mayores beneficios de TypeScript es su capacidad para ofrecer un tipado estático. Esto significa que los tipos de datos son especificados en el momento de escribir el código, y no durante la ejecución del programa. Este enfoque aumenta la seguridad del código y reduce la posibilidad de errores de tiempo de ejecución.

Por ejemplo, si declaramos una variable en JavaScript, podemos asignarle cualquier valor sin importar el tipo de datos originalmente especificado:

let name = "John";
name = 123;

Sin embargo, con TypeScript, la misma variable se vería así:

let name: string = "John";
name = 123; // Error: Type 'number' is not assignable to type 'string'

Organización y herramientas

La organización de archivos es clave para mantener un proyecto bien estructurado y fácil de mantener. Es recomendable utilizar una estructura de carpetas que se adapte a la naturaleza del proyecto y que permita una organización clara y lógica de los archivos.

Por ejemplo, aquí está una estructura de carpetas básica para un proyecto TypeScript para Backend:

my-project/
├── src/
│   ├── config/
│   ├── controllers/
│   ├── migrations/
│   ├── models/
│   ├── routes/
│   ├── seeders/
│   └── app.ts
│   └── server.ts
├── tests/
├── node_modules/
├── nodemon.json
├── package.json
└── tsconfig.json

Notar que esta estructura nos debiese ser bastante familiar ya que la habíamos visto en el capítulo de JavaScript en el Servidor. Más adelante aplicaremos esto a un proyecto existente y deberemos elegir el set de herramientas adecuado compatible con TypeScript.