Para asignar los métodos y atributos privados en Clases (ahora en ES21) seran con un #
El propio JavaScript aplica la encapsulación de privacidad de estas características de clase.
class ClassWithPrivateField {
#privateField;
}
Ahora vamos a ver un Ejemplo
Metodos Privados
- Vamos a crear una clase llamada
Peopley vamos a tener varios metodos.
class People {
showName() {
console.log("My name is David")
}
showAge() {
console.log("David is 21")
}
}
Para acceder a los metodos dentro de las clases, primero necesitamos instanciar la clase.
class People {
showName() {
console.log("My name is David")
}
showAge() {
console.log("David is 21")
}
}
const people = new People()
people.showName()
people.showAge()
Podemos ver My name is David y David is 21 en la consola.
Si queremos hacer showAge(), un método privado dentro de la clase People, por lo que fuera del alcance de la clase no es accesible.
Simplemente agregamos # a showAge() algo asi #showAge()
class People {
showName() {
console.log("My name is David")
}
#showAge() {
console.log("David is 21")
}
}
const people = new People()
people.showName()
people.showAge()
Podemos ver el resultado en nuestra consola. Un error es decir people.showAge que no es una función. Esto se debe a #showAge() que ahora es un método privado dentro de la clase People y solo se puede acceder a través de un método público dentro de la clase People.


