--- title: constructor slug: Web/JavaScript/Reference/Classes/constructor translation_of: Web/JavaScript/Reference/Classes/constructor ---
{{jsSidebar("Classes")}}

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. {{jsxref("SyntaxError")}}  akan dilemparkan jika suatu kelas memiliki lebih dari satu metode konstruktor.

Konstruktor dapat menggunakan kata kunci {{jsxref("Operators/super", "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
{{SpecName('ES6', '#sec-static-semantics-constructormethod', 'Constructor Method')}} {{Spec2('ES6')}} Definisi awal
{{SpecName('ESDraft', '#sec-static-semantics-constructormethod', 'Constructor Method')}} {{Spec2('ESDraft')}}  

Kompatibilitas Peramban

{{CompatibilityTable}}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatChrome(42.0)}} {{CompatGeckoDesktop(45)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Default constructors {{CompatUnknown}} {{CompatGeckoDesktop(45)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support {{CompatNo}} {{CompatChrome(42.0)}} {{CompatGeckoMobile(45)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatChrome(42.0)}}
Default constructors {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(45)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

Lihat Pula