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
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Class definitions' in that specification. |
Standard | Initial definition. |
Browser compatibili
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.