static

static - статичний метод, властивість класу.

Синтаксис:

class NameClass{ static NameStaticMethod(){ //код методу } } class NameClass{ static NameStaticProperty='test'; }

Параметри:

NameClass - назва класу.

NameStaticMethod - назва статичного метода.

NameStaticProperty - назва статичної властивості.

Опис:

static ключове слово яке вказує що метод, властивість класу є статичним.

Статичний метод класу викликається без створення об'єкту за допомогою new, а лише у форматі: NameClass.NameStaticMethod().

class MyClas{ static TEXT='test static property'; static test(){ return 'test method static'; } } alert( MyClas.TEXT ); alert( MyClas.test() );

Якщо статичний метод, властивість викликається в середині класу іншим статичним методом тоді викликається у форматі this.NameStaticMethod(), this.NameStaticProperty().

class MyClas{ static text1(){ return 'static 1'; } static text2(){ return 'static 2 '+this.text1(); } } alert( MyClas.text2() );

Виклик статичного методу у конструкторі або звичайному методі виконується у форматі this.NameClass.NameStaticMethod() або this.constructor.NameStaticMethod().

class MyClas{ constructor(){ this.name=this.constructor.test(); } static test(){ return 'test'; } } var ob=new MyClas(); alert( ob.name ); class MyClas{ constructor(){ this.name=MyClas.test(); } static test(){ return 'test'; } } var ob=new MyClas(); alert( ob.name );

Приклад:

class MyClas{ static x2(x){ return x*x; } } var res=MyClas.x2(4); alert( res ); Статична приватна властивість: class MyClas{ static #name='test static privat'; getName(){ return MyClas.#name; } } var m=new MyClas(); alert( m.getName() ); );