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