From da78a9e329e272dedb2400b79a3bdeebff387d47 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:17 -0500 Subject: initial commit --- .../javascript/reference/classes/static/index.html | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 files/it/web/javascript/reference/classes/static/index.html (limited to 'files/it/web/javascript/reference/classes/static/index.html') diff --git a/files/it/web/javascript/reference/classes/static/index.html b/files/it/web/javascript/reference/classes/static/index.html new file mode 100644 index 0000000000..7158316654 --- /dev/null +++ b/files/it/web/javascript/reference/classes/static/index.html @@ -0,0 +1,70 @@ +--- +title: static +slug: Web/JavaScript/Reference/Classes/static +translation_of: Web/JavaScript/Reference/Classes/static +--- +
{{jsSidebar("Classes")}}
+ +

La parola static è utilizzata per  definire un metodo statico di una classe.

+ +

Sintassi

+ +
static nomeMetodo() { ... }
+ +

Descrizione

+ +

La parola static definisce metodi statici per una classe. I metodi statici non sono invocati  sull'istanza della classe, ma sono invece invocati sulla classe stessa. Questi sono spesso metodi di supporto, as esempio funzioni per creare o clonare oggetti.

+ +

Esempi

+ +

Il seguente esempio mostra diversi aspetti interessanti. Mostra come un metodo statico è implementato in una classe, e come una classe con metodi statici può essere estesa da altre classi. Infine da una dimostrazione di come un metodo statico può essere o non può essere invocato.

+ +
class Triplica {
+  static triplica(n) {
+    n = n | 1;
+    return n * 3;
+  }
+}
+
+class TriplicaAncora extends Triplica {
+  static triplica(n) {
+    return super.triplica(n) * super.triplica(n);
+  }
+}
+
+console.log(Triplica.triplica()); // 3
+console.log(Triplica.triplica(6));  // 18
+console.log(TriplicaAncora.triplica(3)); // 81
+var tp = new Triplica();
+console.log(tp.triplica()); //Logga 'tp.triplica is not a function' perché la classe è instanziata
+ +

Specifications

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES6', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES6')}}Initial definition.
+ +

Browser compatibili

+ + + +

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

+ +

Vedi anche

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