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)