Implementar constantes de clase en TypeScript

Migel Hewage Nimesha 21 junio 2023
  1. Constantes en TypeScript
  2. Implementar constantes de clase usando solo lectura en TypeScript
  3. Implementar constantes de clase usando solo lectura con estático en TypeScript
Implementar constantes de clase en TypeScript

Este artículo enseña cómo implementar constantes de clase usando la palabra clave readonly y la palabra clave static con la palabra clave readonly.

Constantes en TypeScript

Las constantes en los lenguajes de programación son los valores fijos que, una vez asignados, no se pueden cambiar de valor. Las constantes de clase son campos constantes dentro de una clase que no se pueden modificar una vez asignados.

En TypeScript, crear una clase es una tarea sencilla. A continuación se muestra la sintaxis de cómo podemos crear una clase en TypeScript.

class className {
    // Block of code
}

Lo anterior es el método simple para crear una clase en TypeScript. Podemos seguir algunos métodos para crear una clase con campos constantes o propiedades con valores que no se pueden alterar ni cambiar.

En TypeScript, es esencial recordar que un miembro de la clase no puede tener la palabra clave const. Una declaración en línea de una constante de un miembro de clase es imposible en TypeScript.

Si intentamos hacerlo, el compilador arrojará un error de compilación. Para hacer que una clase sea constante, podemos implementar algunas opciones disponibles en TypeScript que se analizan en las siguientes secciones.

Implementar constantes de clase usando solo lectura en TypeScript

Después de crear una clase para hacer que las propiedades o los campos de la clase no se puedan modificar, es posible utilizar la palabra clave solo lectura, que se introdujo en TypeScript 2.0, para definir los campos o las propiedades de la clase como no modificables. Si intentamos alterar las propiedades, aparecerá un mensaje de error.

Ejemplo:

class DisplayOutput{
readonly name : string = "Only using readonly";
displayOutput() : void{
    console.log(this.name);
}
}

let instance = new DisplayOutput();
instance.displayOutput();

Producción :

Only using readonly

Cuando solo se usa readonly, no actúa completamente como una constante. Esto se debe a que la asignación está permitida en el constructor.

Implementar constantes de clase usando solo lectura con estático en TypeScript

Otro método que podemos usar para hacer que los campos de clase o las propiedades no se puedan modificar es la palabra clave readonly con la palabra clave static. La ventaja de esto en comparación con el uso de solo lectura es que la asignación no se permitirá en el constructor y, por lo tanto, solo estará en un lugar.

Ejemplo:

class DisplayOutput{
    static readonly username : string = "Using both static and readonly keywords";
    static displayOutput() : void {
        console.log(DisplayOutput.username);
    }
}

DisplayOutput.displayOutput();

Producción :

Using both static and readonly keywords
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Artículo relacionado - TypeScript Class