Classes, parameter properties (parámetros como propiedades)

TypeScript ofrece un tipo de sintaxis especial para convertir un parámetro de un constructor en una propiedad de una clase con el mismo nombre y valor. Estos son llamados parameter properties (parámetros como propiedades) y son creados utilizando como prefijo al argumento del constructor uno de los modificadores de visibilidad como public, private, protected y readonly.

class Video {
    constructor(
        public readonly nombre: string,
        public readonly duracion: number,
        public readonly formato: "mp4" | "mkv" | "web"
    ) {}
}

const miVideo: Video = new Video("vacaciones", 60, "mp4");

console.log(`Mi vide de: ${miVideo.nombre}`);
console.log(`Tiene una duración de: ${miVideo.duracion} segundos`);
console.log(`Y el formato es: ${miVideo.formato}`);

La salida es…

Mi vide de: vacaciones
Tiene una duración de: 60 segundos
Y el formato es: mp4