# - приватний метод, властивість класу.
class nameClass{
#nameMethod(){
//приватний метод
}
}
class name{
//приватна властивість
#nameProperty;
}
nameClass - назва класу.
nameMethod - назва приватного метода.
nameProperty - назва приватної властивості.
# символ який вказує що метод, властивість у class є приватною.
До приватної властивості, методу можна звертатися лише у всередині класу.
Звернення до приватної властивості, методу поза класом призведе до помилки.
# входить у специфікацію ES2022.
class Test{
#text;
constructor(text){
this.#text=text;
}
getText(){
return this.#text;
}
}
var t=new Test('privat');
console.log( t.getText() );
t.#text; //Error : Private field '#text' must be declared in an enclosing class
class Rectangle{
#name='Rectangle';
constructor(height, width){
this.height=height;
this.width=width;
}
getName(){
return this.#name;
}
}
var s=new Rectangle(3, 2);
alert( s.getName() );