#

# - приватний метод, властивість класу.

Синтаксис:

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() );