From 95aca4b4d8fa62815d4bd412fff1a364f842814a Mon Sep 17 00:00:00 2001 From: Ryan Johnson Date: Thu, 29 Apr 2021 16:16:42 -0700 Subject: remove retired locales (#699) --- .../javascript/reference/classes/static/index.html | 135 --------------------- 1 file changed, 135 deletions(-) delete mode 100644 files/bg/web/javascript/reference/classes/static/index.html (limited to 'files/bg/web/javascript/reference/classes/static') diff --git a/files/bg/web/javascript/reference/classes/static/index.html b/files/bg/web/javascript/reference/classes/static/index.html deleted file mode 100644 index 971bf40345..0000000000 --- a/files/bg/web/javascript/reference/classes/static/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: static -slug: Web/JavaScript/Reference/Classes/static -tags: - - Класове - - Статичен - - статичен метод -translation_of: Web/JavaScript/Reference/Classes/static ---- -
{{jsSidebar("Classes")}}
- -

Ключовата дума static дефинира статичен метод за клас. Static methods aren't called on instances of the class. Instead, they're called on the class itself. Това често са помощни функции, като например функции за създаване или клониране на обекти.

- -
{{EmbedInteractiveExample("pages/js/classes-static.html")}}
- - - -

Синтаксис

- -
static methodName() { ... }
- -

Описание

- -

Статичните методи се правят директно в класът и не могат да се извикват като инстанции на клас.

- -

Извикване на статичен метод

- -

От друг статичен метод

- -

За да извикате статичен метод в рамките на друг статичен метод от същия клас, може да използвате ключовата дума this.

- -
class StaticMethodCall {
-  static staticMethod() {
-    return 'Static method has been called';
-  }
-  static anotherStaticMethod() {
-    return this.staticMethod() + ' from another static method';
-  }
-}
-StaticMethodCall.staticMethod();
-// 'Static method has been called'
-
-StaticMethodCall.anotherStaticMethod();
-// 'Static method has been called from another static method'
- -

От конструктора на клас и други методи

- -

Статичните методи не са пряко достъпни, когато се използва ключовата дума this от нестатични методи. Трябва да ги извикате, използвайки името на класа: CLASSNAME.STATIC_METHOD_NAME() или да извикате метода като собственост на constructorthis.constructor.STATIC_METHOD_NAME().

- -
class StaticMethodCall {
-  constructor() {
-    console.log(StaticMethodCall.staticMethod());
-    // 'static method has been called.'
-
-    console.log(this.constructor.staticMethod());
-    // 'static method has been called.'
-  }
-
-  static staticMethod() {
-    return 'static method has been called.';
-  }
-}
- -

Примери

- -

Следният пример показва няколко неща:

- -
    -
  1. Как статичните методи се изпълняват в класът.
  2. -
  3. Това , че клас със статичен член може да бъде под-класиран.
  4. -
  5. Как статичният метод може и не може да бъде извикан.
  6. -
- -
class Triple {
-  static triple(n) {
-    if (n === undefined) {
-      n = 1;
-    }
-    return n * 3;
-  }
-}
-
-class BiggerTriple extends Triple {
-  static triple(n) {
-    return super.triple(n) * super.triple(n);
-  }
-}
-
-console.log(Triple.triple());        // 3
-console.log(Triple.triple(6));       // 18
-
-var tp = new Triple();
-
-console.log(BiggerTriple.triple(3));
-// 81 (not affected by parent's instantiation)
-
-console.log(tp.triple());
-// 'tp.triple is not a function'.
-
- -

Спецификации

- - - - - - - - - - - - - - - - - - - -
СпецификацииСтатусКоментар
{{SpecName('ES2015', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ESDraft', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ESDraft')}} 
- -

Съвместимост с браузера

- - - -

{{Compat("javascript.classes.static")}}

- -

Вижте още

- - -- cgit v1.2.3-54-g00ecf