---
date: 2020-10-08
id: 3b88db70-6291-45e3-96da-3fb70a43222a
title: JavaScript Class Inheritance
---

# Example

Classes in JavaScript can inherit from each other

``` javascript
class Parent {
    constructor(name, parentChild = "Parent") {
        this.parentChild = parentChild
        this.name = name
    }

    speak(line) {
        console.log(`${this.parentChild} ${this.name} says '${line}'`)
    }
}

class Child extends Parent {
    constructor(name){
        super(name, "Child")
    }
}

let parent = new Parent("Father");
let child = new Child("Gregory");
parent.speak("Get off my lawn!");
child.speak("Make me old man!");
```

The use of the word `extends` indicates that this class shouldn’t be
directly based on the default [Object](20200826201605-objects) prototype
but on some other class. This is called the superclass. The derived
class is the subclass. The superclass's constructor and methods can be
called by appending `super` in front.
