Traduzione in corso.
This is a new technology, part of the ECMAScript 2015 (ES6) standard.
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.
La parola static è utilizzata per definire un metodo statico di una classe.
Sintassi
static nomeMetodo() { ... }
Descrizione
I metodi definiti con static possono essere invocati senza instanziare la classe che li definisce, ma non sono disponibili quando è instanziata. Per questo i metodi statici sono spesso usati per definire funzioni utili in diversi parti dell'applicazione.
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 Tripple(); console.log(tp.tripple()); //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
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 42.0 | Nightly build | ? | ? | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|
Basic support | No support | Nightly build | ? | ? | ? | 42.0 |