En TypeScript, los arrays pueden (y deben) tener un tipo definido. Esto nos ayuda a evitar errores y tener un código más seguro, especialmente cuando trabajamos con inventarios, listas de enemigos, habilidades, etc.
Existen dos formas principales de declarar arrays tipados:
let enemigos: string[] = ["Goblin", "Orco", "Esqueleto"];
// Otra forma más moderna (usando Array<T>)
let niveles: Array<number> = [1, 5, 12, 25];
Recomendación: Usa la sintaxis tipo[] (más común y legible).
interface Enemigo {
nombre: string;
vida: number;
daño: number;
tipo: string;
}
const enemigos: Enemigo[] = [
{ nombre: "Goblin", vida: 80, daño: 15, tipo: "Humanoide" },
{ nombre: "Orco Berserker", vida: 180, daño: 35, tipo: "Humanoide" },
{ nombre: "Dragón Rojo", vida: 850, daño: 70, tipo: "Dragón" }
];
const inventario: string[] = ["Espada", "Poción", "Escudo"];
// Añadir elemento
inventario.push("Arco");
// Recorrer el array
inventario.forEach(item => {
console.log("Item: " + item);
});
// Filtrar
const armas = inventario.filter(item => item.includes("Espada"));
interface Habilidad {
nombre: string;
daño: number;
manaCoste: number;
tipo: "físico" | "mágico";
}
const habilidades: Habilidad[] = [
{ nombre: "Golpe Fuerte", daño: 45, manaCoste: 0, tipo: "físico" },
{ nombre: "Bola de Fuego", daño: 60, manaCoste: 25, tipo: "mágico" },
{ nombre: "Curación", daño: -40, manaCoste: 20, tipo: "mágico" }
];
const clasesPermitidas: readonly string[] = [
"Guerrero",
"Mago",
"Arquero",
"Sanador"
];
// clasesPermitidas.push("Ladrón"); // Error: no se puede modificar
Prueba esto en tu proyecto TypeScript o en TypeScript Playground:
inventario que contenga objetos con propiedades: nombre, cantidad y rareza.push()."Épica" o "Legendaria".tipo.