Diferencia entre palabra clave privada y campos privados en TypeScript

TypeScript 3.8 admite la palabra clave private para declarar privados a sus miembros. Y los campos privados en TypeScript son los que se han propuesto recientemente para JavaScript. Estos campos están precedidos por # .

Palabra clave privada: la palabra clave privada en TypeScript se usa para marcar un miembro como privado, lo que lo hace inaccesible fuera de la clase declarada. Los campos están precedidos por la palabra clave private para marcarlos como privados.

  • Sintaxis:
    private variableName
  • Ejemplo:

    class letters { 
        private a;
      
        constructor(alphabet){ 
            this.a = alphabet;
        
     
        getA(){
            return this.a;
        }
    const l = new letters("gfg"); 
    console.log(l.getA()); 
  • Producción:
    gfg

Campos privados: Los campos privados en TypeScript son los que se han agregado recientemente a JavaScript, los miembros que se declararán privados están precedidos por un # . No se puede acceder a los miembros privados fuera de su clase.

  • Sintaxis:
    #variableName
  • Ejemplo:

    class letters {
        #a;
     
        constructor(alphabet){
            this.#a = alphabet;
        }
     
        getA(){
            return this.#a;
        }
    }
    const l = new letters("gfg");
    console.log(l.getA());            

    Producción:

  • gfg

Por lo tanto, para implementar la palabra clave privada en tiempo de ejecución al compilar TypeScript para ESNext JavaScript, se debe considerar el uso de la sintaxis privada # definida para JavaScript.

Diferencia entre palabra clave privada y campos privados:

Palabra clave privada campos privados
Es un modificador de TypeScript. Es una sintaxis recientemente agregada por ECMA a JavaScript, que también está disponible en TypeScript.
Es una anotación de tiempo de compilación. Por lo tanto, cuando un transpilador convierte código TypeScript a JavaScript, se elimina la palabra clave privada . Los campos privados permanecen privados en tiempo de ejecución incluso después de que el transpilador convierte el código TypeScript a JavaScript.

Publicación traducida automáticamente

Artículo escrito por stuteeroutray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *