Las interfaces en TypeScript se utilizan para definir la forma de un objeto. Puedes especificar qué propiedades debe tener un objeto y sus tipos.
interface Usuario {
nombre: string;
edad: number;
correo?: string; // Propiedad opcional
}
const usuario1: Usuario = {
nombre: "Urian",
edad: 25,
correo: "urian@example.com"
};
const usuario2: Usuario = {
nombre: "Luis",
edad: 30
};
console.log(usuario1);
//Salida: { nombre: 'Urian', edad: 25, correo: 'urian@example.com' }
console.log(usuario2);
// Salidad: { nombre: 'Luis', edad: 30 } Además de las interfaces, TypeScript permite definir tipos personalizados para facilitar la reutilización y el mantenimiento del código.
type Producto = {
id: number;
nombre: string;
precio: number;
};
const producto: Producto = {
id: 1,
nombre: "Laptop",
precio: 999.99
};
console.log(`Producto: ${producto.nombre}, Precio: $${producto.precio}`);
// Salida: Producto: Laptop, Precio: $999.99 Tanto las interfaces como los tipos personalizados permiten definir la forma de los objetos, pero existen algunas diferencias clave:
ExtensibilidadLas interfaces se pueden extender mediante la herencia, mientras que los tipos no. Esto es útil para crear jerarquías más complejas.
interface Empleado extends Usuario {
salario: number;
}
const empleado: Empleado = {
nombre: "Carlos",
edad: 28,
salario: 50000
}; UnionesLos tipos permiten definir uniones entre varios tipos, mientras que las interfaces no tienen esta capacidad.
type ID = string | number;
const id1: ID = "abc123";
const id2: ID = 456; Utiliza interfaces (interface) cuando necesites definir la estructura de objetos que pueden ser extendidos, y tipos (type) para combinar varios tipos en un solo valor.
Ambas herramientas en TypeScript son clave para construir aplicaciones más seguras, flexibles y organizadas.