Method dengan nama "constructor" adalah spesial method untuk pembuatan dan penginisialisasian objek yang dibuat dengan kelas.

sintaxnya

constructor([arguments]) { ... }

Deskripsi

Hanya boleh ada satu spesial method dengan nama "constructor" dalam sebuah kelas. SyntaxError  akan di lemparkan jika suatu kelas memiliki lebih dari satu method konstruktor.

 Sebuah konstruktor dapat menggunakan super keyword(kata kunci) untuk memanggil parent konstruktor.

Jika method konstruktor tidak di definisikan dalam sebuah kelas, maka default kontruktorlah yang akan digunakan.

Contoh

Menggunakan constructor

Potongan code ini diambil dari classes sample (live demo).

class Square extends Polygon {
  constructor(length) {
    // Disini, akan memanggil parent konstruktor dengan panjang
    // diberikan untuk panjang dan tinggi Polygon
    super(length, length);
    // Catatan: di derived kelas, super() harus dipanggil sebelum
    // bisa menggunakan keyword 'this'. Meninggalkan pemanggilan super diawal
    //akan menyebabkan reference error.
    this.name = 'Square';
  }

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

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

Konstruktor default

Jika method konstruktor tidak di definisikan dalam sebuah kelas, maka default kontruktorlah yang akan digunakan. Untuk base kelas, default konsrtuktornya adalah:

constructor() {}

Untuk derived kelas, default konsrtuktornya adalah:

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

Spesifikasi

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Constructor Method' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Constructor Method' in that specification.
Draft  

Kompatibilitas Browser

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 42.0 45 (45) ? ? ?
Default constructors ? 45 (45) ? ? ?
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 42.0 45.0 (45) ? ? ? 42.0
Default constructors ? ? 45.0 (45) ? ? ? ?

Lihat juga kata Kunci Dibawah ini

 

Tag Dokumen dan Kontributor

Kontributor untuk laman ini: rafafauzi, MichaelSipayung, adfie
Terakhir diperbarui oleh: rafafauzi,