Menu
CoddyTech

Fungsi Konstruktor

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 4 dari 56.

Fungsi constructor adalah fungsi khusus dalam JavaScript yang memungkinkan kamu membuat beberapa object dengan struktur dan perilaku yang sama.

Definisikan fungsi konstruktor untuk Person:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return "Hello, my name is " + this.name;
  };
}

Buat object Person baru menggunakan constructor:

const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);

Panggil constructor dengan kata kunci new. new membuat object kosong, menjalankan fungsi dengan this yang merujuk ke object tersebut, lalu mengembalikan object itu, sehingga this.name = name menyimpan nama pada john. Sesuai konvensi, nama constructor diawali huruf kapital (Person, Car) untuk menunjukkan bahwa constructor tersebut dimaksudkan untuk dipanggil dengan new.

Tanpa new, Person("John", 30) adalah pemanggilan fungsi biasa: tidak ada object yang dibuat, this adalah object global (atau undefined dalam strict mode), dan pemanggilan tersebut mengembalikan undefined.

Setelah menjalankan kode di atas, john adalah object dengan property:

// object john berisi:
{
  name: "John",
  age: 30,
  greet: function() { return "Hello, my name is John"; }
}

Akses property dan panggil method:

console.log(john.name); // Output: John
console.log(john.greet()); // Output: Hello, my name is John
challenge icon

Tantangan

  1. Buat fungsi constructor bernama Book yang menerima tiga argumen:
  • title (String)
  • author (String)
  • pages (Number)

Fungsi tersebut harus menetapkan nilai-nilai ini sebagai property pada object yang dibuat. 

    2. Tambahkan method bernama getSummary yang mengembalikan string berisi informasi tentang buku: this.title + " was written by " + this.author + " and has " + this.pages + " pages";

Coba sendiri

// TODO: Buat fungsi konstruktor bernama Book yang menerima tiga argumen (title, author, pages)


// TODO: Tetapkan ketiganya sebagai property pada object yang dibuat


// TODO: Tambahkan method bernama getSummary yang mengembalikan string berisi informasi tentang buku.
// Contohnya: Harry Potter was written by Rowling and has 500 pages


// Jangan ubah kode di bawah ini
const inputTitle = inp[0];          // Baris pertama: judul buku
const inputAuthor = inp[1];         // Baris kedua: penulis  
const inputPages = parseInt(inp[2]);// Baris ketiga: jumlah halaman

const book = new Book(inputTitle, inputAuthor, inputPages);
console.log(book.getSummary());
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler JavaScript online