JS OOP: 16. Class inheritance

HTML

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Class inheritance</title>
  </head>
  <body>
    <script>
      class Employee {
        sayHello(name) {
          console.info(`Hello ${name}, my name is employee ${this.firstName}`);
        }
      }

      // class Manager turunan dari class Employee
      class Manager extends Employee {
        sayHello(name) {
          console.info(`Hello ${name}, my name is manager ${this.firstName}`);
        }
      }

      const budi = new Employee();
      budi.firstName = "Budi";
      budi.sayHello("Joko"); // Hello Joko, my name is employee Budi

      const eko = new Manager();
      eko.firstName = "Eko";
      eko.sayHello("Joko"); // Hello Joko, my name is manager Eko

      console.info(budi);
      console.info(eko);
    </script>
  </body>
</html>