1

Objetos, Type Alias y Optional properties en TypeScript

Imaginemos que tenemos una función que retorna un objeto tipo “object”, y más abajo tenemos otro objeto de la misma estructura. Una manera de encapsular estos objetos y hacerlos de un mismo tipo, es crear nuestro propio tipo y asignarlo. Entonces en lugar de devolver “object”, devuelve nuestro Type

// Primero creamos nuestro custom type con el alias de Hero

type HeroId = `${string}-${string}-${string}-${string}-${string}`
type Hero = {
    readonly id?: HeroId
    // HeroId es un tipo de dato que se basa en una cadena de texto UUID// "esto-es-un-uu-id"name: string,
    age: number,
    power: number
    isActive?: boolean 
    //  con el "?" le indicamos que la propiedad es opcional//  al momento de crear un nuevo Hero
}

constnewHero : Hero = {
    name: 'Thor',
    age: 165,
    power: 1900
} 

// Este objeto ya no es tipo "object" sino tipo Hero, yo ya no puedo agregar,// ni eliminar propiedades si su padre Hero no las tieneconst generateHero = (hero: Hero) :Hero => {
    // generamos un objeto que deberá ser pasado por parámetro y será de tipo Heroconst {name, age, power} = hero
    return {id: crypto.randomUUID(), name, age, power}
}
generateHero({name: 'Hulk', age: 287, power: 1600})
// Al llamar la funcion le pasamos todos los parámetros necesario de Hero
Escribe tu comentario
+ 2