--- title: static slug: Web/JavaScript/Reference/Classes/static translation_of: Web/JavaScript/Reference/Classes/static ---
La parola static è utilizzata per definire un metodo statico di una classe.
static nomeMetodo() { ... }
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.
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
Specification | Status | Comment |
---|---|---|
{{SpecName('ES6', '#sec-class-definitions', 'Class definitions')}} | {{Spec2('ES6')}} | Initial definition. |
{{Compat("javascript.classes.static")}}