Classes, readonly (solo lectura)

Los campos propiedades de una clase pueden ser precedidos por readonly. Esto previene que se asigne un valor al campo fuera del constructor de la clase.

class Saludo {
    readonly nombre: string = "mundo";

    constructor(nuevoNombre: string) {
        if (!!nuevoNombre) {
            this.nombre = nuevoNombre; // <- correcto, asignación es valida dentro del constructor
        }
    }

    asignarNuevoNombre(nuevoNombre: string) {
        this.nombre = nuevoNombre; // <- error, no se puede asignar valor fuera del constructor
    }
}

const miNombre = new Saludo("Elio"); // <- correcto, asignación mediante el constructor
miNombre.nombre = "Alejandro"; // <- error, no se puede asignar valor fuera del constructor