Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.

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 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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
staticChrome Full support 49
Notes
Full support 49
Notes
Notes From Chrome 42 to 48 strict mode is required. Non-strict mode support can be enabled using the flag "Enable Experimental JavaScript".
Edge Full support 13Firefox Full support 45IE No support NoOpera Full support 36Safari Full support 9WebView Android ? Chrome Android Full support YesEdge Mobile Full support 13Firefox Android Full support 45Opera Android ? Safari iOS Full support 9Samsung Internet Android Full support Yesnodejs Full support 6.0.0
Full support 6.0.0
Full support 4.0.0
Disabled
Disabled From version 4.0.0: this feature is behind the --use_strict runtime flag.
Full support 5.0.0
Disabled
Disabled From version 5.0.0: this feature is behind the --harmony runtime flag.

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

Vedi anche

Tag del documento e collaboratori

Hanno collaborato alla realizzazione di questa pagina: mdnwebdocs-bot, fscholz, SphinxKnight, sharq, Cereal84, ciaoben
Ultima modifica di: mdnwebdocs-bot,