constructor

This is an experimental technology, part of the ECMAScript 6 (Harmony) proposal.
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes.

Resum

El mètode constructor és un mètode especial per crear i inicialitzar un objecte creat amb una class.

Sintaxi

constructor([arguments]) { ... }

Descripció

Només hi pot haver un mètode especial am el nom "constructor" en una classe. Es llançarà un SyntaxError, si la classe conté més d'un cas d'un mètode constructor.

Un constructor pot utilitzar la paraula clau super per cridar el constructor de la classe pare.

Exemples

Aquest fragment de codi es pren de mostra de classes (demostració en viu).

class Square extends Polygon {
  constructor(length) {
    // Aquí es crida el constructor del pare de la classe amb les longituts
    // proveïdes per l'amplada i l'alçada del polígon
    super(length, length);
    // Nota: En classes derivades, s'ha de cridar super() abans
    // d'utilitzar 'this'. Obviar això causarà un error de referència.
    this.name = 'Square';
  }

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

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

Especificacions

Especificació Estat Comentaris
ECMAScript 6 (ECMA-262)
The definition of 'Constructor Method' in that specification.
Release Candidate Definició inicial.

Compatibilitat amb navegadors

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic 42.0

Disponible només al canal Nightly  (desde febrer del 2015)

? ? ?
Característica Android Chrome per Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport bàsic ? 42.0 Disponible només al canal Nightly  (desde febrer del 2015) ? ? ?

Notes específiques per Firefox

  • Els constructors estàndards encara no s'han implementat (errada 1105463)

Vegeu també

Document Tags and Contributors

 Contributors to this page: fscholz, llue
 Last updated by: fscholz,