MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

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

Il metodo constructor è un metodo speciale usato per la creazione e l'inizializzazione di un oggetto creato da  una classe.

Sintassi

costructor([argomenti]) { ... }

Descrizione

In una classe ci può essere un solo metodo con il nome "constructor". Se una classe contiene una o più occorrenze del metodo constructor viene sollevata un SyntaxError

Un costruttore può usare la keyword super per chiamare il costruttore di una classe genitore.

Se non viene specificato un metodo constructor verrà usato quello di default.

Esempi

Usare il metodo constructor

Questo pezzo di codice è stato preso da classes sample (live demo).

class Square extends Polygon {
  constructor(length) {
    // Chiama il metodo constructor della classe padre usando lengths
    // per gli argomenti width e height
    super(length, length);
    // Nota: Nelle classi derivate, super() deve essere chiamato prima
    // dell'utilizzo di 'this'. Lasciandolo così questo causa un reference error.
    this.name = 'Square';
  }

  get area() {
    return this.height * this.width;
  }

  set area(value) {
    this.area = value;
  } 
}

Costruttori predefinito

Se non viene specificato un metodo constructor, verrà usato quello di default. Per le classi base il costruttore di default è:

constructor() {}

Per le classi derivate invece è:

constructor(...args) {
  super(...args);
}

Specifiche

Specifica Stato Commento
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Constructor Method' in that specification.
Standard Initial definition.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Constructor Method' in that specification.
Draft  

Compatibilità con i Browser

Specifica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Supporto Base 42.0 45 (45) ? ? ?
Costruttore predefinito ? 45 (45) ? ? ?
Specifica Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome per Android
Supporto Base No support 42.0 45.0 (45) ? ? ? 42.0
Costruttore predefinito ? ? 45.0 (45) ? ? ? ?

Vedi anche

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: alexandr-sizemov, Cereal84
 Ultima modifica di: alexandr-sizemov,