Propiedades privadas en POO en JavaScript
Las propiedades del objeto que se pueden leer y escribir desde fuera se denominan públicas. También existen propiedades privadas, que solo estarán disponibles dentro de la clase.
Los nombres de las propiedades privadas deben
comenzar con el símbolo #.
Además, tales propiedades deben
declararse al comienzo del código de la clase.
Hagamos esto:
class User {
#name;
}
Ahora escribamos datos en nuestra propiedad. Esto se puede hacer, por ejemplo, en el constructor de la clase:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Ahora creemos un método que devuelva el valor de nuestra propiedad:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Creemos un objeto de la clase, pasando como parámetro el nombre del usuario:
let user = new User('john');
El intento de acceder directamente a nuestra propiedad fuera de la clase provocará un error:
console.log(user.#name); // error
Y la llamada a nuestro método permitirá leer esta propiedad:
console.log(user.show()); // mostrará 'john'
En la clase Employee, haga
tres propiedades privadas: nombre, salario
y edad.
Pase los valores de estas propiedades como parámetro al constructor.
Cree un método que muestre los datos del empleado.