Volver a la página principal
sábado 14 septiembre 2024
10

Cómo implementar interfaces en TypeScript

¿Qué son las interfaces en TypeScript?

Una interfaz en TypeScript es un contrato que define la estructura que debe cumplir un objeto o una clase. Esto incluye la especificación de propiedades, métodos y sus tipos. Las interfaces ayudan a mejorar la legibilidad y el mantenimiento del código al proporcionar un marco claro para los objetos que lo utilizan.

Sintaxis básica

interface NombreDeLaInterfaz {
  propiedad: tipo;
  metodo(param: tipo): retorno;
}

Una clase o un objeto que implementa una interfaz debe cumplir con todas sus propiedades y métodos.

Ejemplo básico

interface Persona {
  nombre: string;
  edad: number;
  saludar(): void;
}

class Estudiante implements Persona {
  nombre: string;
  edad: number;

  constructor(nombre: string, edad: number) {
    this.nombre = nombre;
    this.edad = edad;
  }

  saludar() {
    console.log(`Hola, me llamo ${this.nombre} y tengo ${this.edad} años.`);
  }
}

const estudiante = new Estudiante("Carlos", 22);
estudiante.saludar();  // Resultado: Hola, me llamo Carlos y tengo 22 años.

En este ejemplo, la clase Estudiante implementa la interfaz Persona y proporciona las propiedades y métodos definidos en la interfaz.

Algunos ejemplos de uso de interfaces en TypeScript

Ejemplo 1: Uso de interfaces con funciones

Puedes usar interfaces para definir la estructura de los parámetros que una función debe recibir.

interface Producto {
  nombre: string;
  precio: number;
}

function mostrarProducto(producto: Producto): void {
  console.log(`Producto: ${producto.nombre}, Precio: $${producto.precio}`);
}

const producto = { nombre: "Laptop", precio: 1200 };
mostrarProducto(producto);  // Resultado: Producto: Laptop, Precio: $1200

Ejemplo 2: Interfaces con propiedades opcionales

Puedes declarar propiedades opcionales usando el símbolo ?.

interface Vehiculo {
  marca: string;
  modelo?: string;  // Propiedad opcional
}

const carro: Vehiculo = { marca: "Toyota" };
console.log(carro.marca);  // Resultado: Toyota

Referencia oficial

Para más información, consulta la documentación oficial de TypeScript sobre interfaces.

Etiquetas:
typescript
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer