Sintaxis

TypeScript
TypeScript
Actualizado: 30/06/2025

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

Sintaxis de TypeScript

TypeScript representa una evolución natural de JavaScript que incorpora un sistema de tipos estático opcional, permitiendo detectar errores durante el desarrollo antes de que el código se ejecute en producción. Esta característica fundamental transforma la experiencia de programación, proporcionando mayor seguridad y herramientas de desarrollo más sofisticadas.

Fundamentos del sistema de tipos

La sintaxis de TypeScript extiende JavaScript añadiendo anotaciones de tipos que describen la forma y comportamiento esperado de los datos. Estas anotaciones actúan como contratos que el compilador verifica automáticamente.

let nombre: string = "Ana";
let edad: number = 25;
let activo: boolean = true;

El compilador de TypeScript analiza estas declaraciones y garantiza que las operaciones realizadas sobre las variables sean compatibles con sus tipos declarados. Si intentamos asignar un número a una variable de tipo string, el compilador generará un error antes de la ejecución.

Declaración de variables y constantes

TypeScript mantiene las palabras clave let, const y var de JavaScript, pero añade la capacidad de especificar tipos explícitamente. La inferencia de tipos permite que TypeScript deduzca automáticamente el tipo cuando no se especifica explícitamente.

// Tipo explícito
let precio: number = 99.99;

// Inferencia de tipos
let producto = "Laptop"; // TypeScript infiere que es string
let disponible = true;   // TypeScript infiere que es boolean

Las constantes en TypeScript pueden beneficiarse de tipos literales, donde el valor específico se convierte en el tipo:

const ESTADO = "pendiente"; // Tipo literal "pendiente"
const MAX_INTENTOS = 3;     // Tipo literal 3

Tipos primitivos y su aplicación

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Los tipos primitivos de TypeScript incluyen string, number, boolean, null, undefined y symbol. Cada uno tiene características específicas que influyen en cómo se comporta el código.

let mensaje: string = "Bienvenido";
let temperatura: number = 23.5;
let confirmado: boolean = false;
let valor: null = null;
let indefinido: undefined = undefined;

El tipo number en TypeScript representa tanto enteros como decimales, siguiendo el estándar IEEE 754. Los literales numéricos pueden expresarse en diferentes bases:

let decimal: number = 42;
let hexadecimal: number = 0x2A;
let binario: number = 0b101010;
let octal: number = 0o52;

Arrays y su tipado

Los arrays en TypeScript pueden declararse de dos formas sintácticamente equivalentes. La elección entre una u otra suele depender de las preferencias del equipo de desarrollo.

// Sintaxis con corchetes
let numeros: number[] = [1, 2, 3, 4, 5];
let nombres: string[] = ["Juan", "María", "Carlos"];

// Sintaxis genérica
let precios: Array<number> = [10.99, 25.50, 8.75];
let ciudades: Array<string> = ["Madrid", "Barcelona", "Valencia"];

Los arrays pueden contener tipos mixtos utilizando uniones de tipos:

let mixto: (string | number)[] = ["texto", 42, "otro texto", 100];

Objetos y estructuras de datos

La tipificación de objetos en TypeScript permite definir la estructura exacta que debe tener un objeto, especificando qué propiedades son obligatorias y cuáles opcionales.

let usuario: {
  nombre: string;
  edad: number;
  email?: string; // Propiedad opcional
} = {
  nombre: "Pedro",
  edad: 30
};

Las propiedades opcionales se marcan con el símbolo ? después del nombre de la propiedad. Esto indica que la propiedad puede estar presente o no en el objeto.

Funciones y parámetros tipados

Las funciones en TypeScript pueden tener tipos especificados tanto para sus parámetros como para su valor de retorno. Esta característica mejora significativamente la documentación del código y previene errores comunes.

function calcularArea(ancho: number, alto: number): number {
  return ancho * alto;
}

function saludar(nombre: string, apellido?: string): string {
  if (apellido) {
    return `Hola, ${nombre} ${apellido}`;
  }
  return `Hola, ${nombre}`;
}

Los parámetros por defecto combinan la funcionalidad de JavaScript con el sistema de tipos de TypeScript:

function crearUsuario(nombre: string, rol: string = "usuario"): object {
  return { nombre, rol, fechaCreacion: new Date() };
}

Uniones de tipos y flexibilidad

Las uniones de tipos permiten que una variable pueda ser de varios tipos diferentes, proporcionando flexibilidad manteniendo la seguridad de tipos.

let identificador: string | number;
identificador = "USR001";  // Válido
identificador = 12345;     // También válido

function procesar(entrada: string | number): string {
  if (typeof entrada === "string") {
    return entrada.toUpperCase();
  }
  return entrada.toString();
}

Esta característica resulta especialmente útil cuando trabajamos con APIs externas o datos que pueden llegar en diferentes formatos según el contexto.

Literales de tipo y precisión

Los tipos literales permiten especificar valores exactos como tipos, creando restricciones muy precisas sobre qué valores son aceptables.

let direccion: "norte" | "sur" | "este" | "oeste";
let estado: "activo" | "inactivo" | "pendiente";

function configurar(modo: "desarrollo" | "produccion"): void {
  if (modo === "desarrollo") {
    console.log("Modo desarrollo activado");
  }
}

Esta aproximación es particularmente valiosa para configuraciones y estados donde solo ciertos valores tienen sentido en el contexto de la aplicación.

Completa TypeScript y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración