method super()
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 27 dari 56.
method super() membuat dan menginisialisasi object menggunakan constructor dari parent class. Kamu harus memanggilnya sebelum menambahkan property apa pun ke child class.
Bayangkan seperti ini: class induk membangun fondasi object, dan super() mengatakan "bangun fondasi itu terlebih dahulu" sebelum class anak menambahkan fiturnya sendiri.
Mari kita lihat contohnya. Buat class induk:
class Employee {
constructor(name) {
this.name = name;
}
}Sekarang buat child class yang memperluas parent:
class Manager extends Employee {
constructor(name, department) {
super(name); // Panggil constructor induk dengan name
this.department = department;
}
}Yang terjadi di sini:
constructor(name, department)- Manager membutuhkan name dan departmentsuper(name)- Meneruskannameke constructor milik Employee
this.department- Mengatur property unik milik Manager
Ini membuat Manager yang memiliki property warisan (name) dan property-nya sendiri (department)!
Buat instance dari child class:
const myManager = new Manager("Sarah", "Engineering");
console.log(myManager.name); // "Sarah"
console.log(myManager.department); // "Engineering"method super() harus dipanggil sebelum menggunakan this di constructor class turunan. Jika kamu tidak memanggil super(), JavaScript akan memunculkan error referensi.
Tantangan
Diberikan Salad class yang memperluas Meal. Salad harus memiliki nama dan bahan-bahan.
Tugasmu adalah melengkapi constructor class Salad dengan cara:
- Memanggil
super()dengan property name - Menetapkan property
ingredients
Coba sendiri
import { Meal } from './classes.js';
import { Salad } from './classes.js';
// Kode pengujian, jangan ubah
const salad = new Salad("Caesar", ["lettuce", "croutons", "cheese"]);
console.log(salad.name); // Seharusnya menghasilkan output "Caesar"
console.log(salad.ingredients); // Seharusnya menghasilkan output ["lettuce", "croutons", "cheese"]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