0Pricing
TypeScript Academy · Lección

Acotación avanzada de tipos

Aprenda a usar protectores de tipos avanzados y el análisis del flujo de control para gestionar fácilmente condiciones de tipos complejas

Acotación avanzada de tipos es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 3 lecciones en total.

Introducción al estrechamiento avanzado de tipos

Introducción al estrechamiento avanzado de tipos

El estrechamiento avanzado de tipos permite refinar tipos complejos en tiempo de ejecución mediante técnicas avanzadas como las guardas de tipo, el análisis del flujo de control y los predicados personalizados.

Estas herramientas hacen que su código de TypeScript sea más seguro y predecible.

Acotación avanzada de tipos — ilustración 1

¿Qué es el estrechamiento de tipos?

¿Qué es el estrechamiento de tipos?

El estrechamiento de tipos es el proceso de refinar un tipo más amplio (por ejemplo, string | number) para convertirlo en un tipo más específico mediante comprobaciones en tiempo de ejecución.

Usar <code>typeof</code> para estrechar tipos

Usar typeof para estrechar tipos

El operador typeof se puede usar para estrechar tipos primitivos:

function printValue(value: string | number): void {
  if (typeof value === 'string') {
    console.log(`String: ${value}`);
  } else {
    console.log(`Number: ${value}`);
  }
}

printValue('Hello'); // String: Hello
printValue(42); // Number: 42

Usar <code>instanceof</code> para estrechar tipos

Usar instanceof para estrechar tipos

El operador instanceof se puede usar para estrechar instancias de clases:

class Dog {
  bark() {
    console.log('Woof!');
  }
}

class Cat {
  meow() {
    console.log('Meow!');
  }
}

function makeSound(animal: Dog | Cat): void {
  if (animal instanceof Dog) {
    animal.bark();
  } else {
    animal.meow();
  }
}

makeSound(new Dog()); // Woof!
makeSound(new Cat()); // Meow!

Usar guardas de tipo personalizadas

Usar guardas de tipo personalizadas

Puede crear funciones de guarda de tipo personalizadas para estrechar tipos con mayor precisión:

type Fish = { swim: () => void };
type Bird = { fly: () => void };

declare const animal: Fish | Bird;

function isFish(animal: Fish | Bird): animal is Fish {
  return (animal as Fish).swim !== undefined;
}

if (isFish(animal)) {
  animal.swim();
} else {
  animal.fly();

Análisis del flujo de control

Análisis del flujo de control

El análisis del flujo de control de TypeScript estrecha automáticamente los tipos en función del flujo lógico del código:

function getLength(value: string | string[]): number {
  if (Array.isArray(value)) {
    return value.length;
  } else {
    return value.length;
  }
}

console.log(getLength('Hello')); // 5
console.log(getLength(['a', 'b', 'c'])); // 3

Ventajas del estrechamiento avanzado de tipos

Ventajas del estrechamiento avanzado de tipos

El estrechamiento avanzado de tipos mejora su código al:

  • Reducir los errores en tiempo de ejecución.
  • Hacer que el código sea más seguro y fácil de entender.
  • Proporcionar un control preciso sobre la gestión de tipos.

Tarea práctica

Tarea práctica

Cree una función que reciba un parámetro de tipo string | number y registre un mensaje diferente para cada tipo. Use typeof para implementar la lógica.

¡Enhorabuena!

¡Enhorabuena!

Ha aprendido a usar técnicas avanzadas de estrechamiento de tipos en TypeScript para refinar y gestionar tipos complejos de forma segura y eficaz. ¡Practique estas técnicas para que su código sea más robusto y seguro en cuanto a tipos!

Acotación avanzada de tipos — ilustración 10

Preguntas frecuentes

¿La lección «Acotación avanzada de tipos» es gratis?

Sí — el texto completo de «Acotación avanzada de tipos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Acotación avanzada de tipos»?

Aprenda a usar protectores de tipos avanzados y el análisis del flujo de control para gestionar fácilmente condiciones de tipos complejas Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar TypeScript Academy?

No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.

¿Cuánto tiempo toma la lección «Acotación avanzada de tipos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?

Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Acotación avanzada de tipos
  2. Características avanzadas de las clases
  3. Tipos condicionales
← Volver a TypeScript Academy