ES6 O que super () realmente faz na função construtora?

! Olá, amigos. Eu tenho essa pequena estrutura de herança de classe

class Point {
    constructor(x, y) {
        this.x = x;
        this.y = y;
    }
    toString() {
        return '(' + this.x + ', ' + this.y + ')';
    }
}

class ColorPoint extends Point {
    constructor(x, y, color) {
        super(x, y); 
        this.color = color;
    }
    toString() {
        return super.toString() + ' in ' + this.color; 
    }
}

let newObj = new ColorPoint(25, 8, 'green');

Compila paraeste jsfiddle

Eu entendo como isso funciona no es6 de uma maneira boba. Mas alguém poderia explicar como funciona sob o capô na es5. De uma forma mais simples.

questionAnswers(1)

yourAnswerToTheQuestion