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 JohnTantangan
- Buat fungsi constructor bernama
Bookyang 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());Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Object dan Kata Kunci this
Tinjauan Singkat: objectMenambahkan method ke objectMemahami Kata Kunci thisFungsi KonstruktorKata Kunci newTantangan Rangkuman7Pewarisan & Kata Kunci extends
PewarisanHubungan "is-a"Kata Kunci extendsmethod super()Mewarisi property & methodTantangan Rangkuman2Mengatur Kode
Apa itu module?Mengekspor dengan exportMengimpor dengan importEkspor default vs. ekspor bernama8Mengatur Kode OOP
Mengatur class ke dalam module11Proyek: Perender Bentuk
Penyiapan: class Shape & EksporPewarisan class CircleOverride & Method LuasPenghitung Shape Statis14Sistem Manajemen Perpustakaan
Merancang PerpustakaanClass Book dengan CompositionValidasi Penulis Buku9Method dan property Statis
Level class vs. level instanceProperty StatisMethod Utilitas StatisTantangan RangkumanLatihan sendiri: Compiler JavaScript online