Metode dengan nama "constructor" adalah metode spesial untuk pembuatan dan penginisialisasian objek yang dibuat dengan kelas.

sintaks

constructor([arguments]) { ... }

Deskripsi

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

Konstruktor dapat menggunakan kata kunci super untuk memanggil konstruktor orang-tua.

Jika metode konstruktor tidak didefinisikan dalam sebuah kelas, maka  kontruktor asali yang akan digunakan.

Contoh

Menggunakan metode constructor

Potongan kode ini diambil dari contoh kelas (demostrasi langsung).

class Square extends Polygon {
  constructor(length) {
    // Di sini, akan memanggil konstruktor orang-tua dengan panjang
    // diberikan untuk panjang dan tinggi Polygon
    super(length, length);
    // Catatan: di kelas turunan, super() harus dipanggil sebelum
    // bisa menggunakan kata kunci 'this'. Meninggalkan pemanggilan ini di awal
    // akan menyebabkan kesalahan referensi.
    this.name = 'Square';
  }

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

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

Konstruktor asali

Jika metode konstruktor tidak didefinisikan dalam sebuah kelas, maka kontruktor asali yang akan digunakan. Untuk konstruktor asali untuk kelas dasar adalah:

constructor() {}

Konstruktor asali untuk kelas turunan adalah:

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

Spesifikasi

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

Kompatibilitas Peramban

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 Pula

Tag Dokumen dan Kontributor

Kontributor untuk laman ini: bayuah, mdnwebdocs-bot, rafafauzi, MichaelSipayung, adfie
Terakhir diperbarui oleh: bayuah,