constructor

Terjemahan ini belum lengkap. Mohon bantu menerjemahkan artikel ini dari Bahasa Inggris.

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

Sintaksis

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 method constructor

This code snippet is taken from the 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 2017 Draft (ECMA-262)
The definition of 'Constructor Method' in that specification.
Draft  

Kompatibilitas Browser

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) ? ? ? ?

See also

Tag Dokumen dan Kontributor

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