JS OOP: 17. Class super constructor
by istiq20
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Class super constructor</title>
</head>
<body>
<script>
// parent class
class Employee {
constructor(firstName) {
this.firstName = firstName;
}
sayHello(name) {
console.info(`Hello ${name}, my name is employee ${this.firstName}`);
}
}
// child class
class Manager extends Employee {
constructor(firstName, lastName) {
// wajib memanggil constructor super class (parent class)
super(firstName); // parameter tidak wajib diisi (optional)
this.lastName = lastName;
}
sayHello(name) {
console.info(
`Hello ${name}, my name is manager ${this.firstName} ${this.lastName}`
);
}
}
const budi = new Employee("Budi");
budi.sayHello("Joko"); // Hello Joko, my name is employee Budi
const eko = new Manager("Eko", "Khannedy");
eko.sayHello("Joko"); // Hello Joko, my name is manager Eko Khannedy
console.info(budi);
console.info(eko);
</script>
</body>
</html>