I always thought that calling super()
was practically like copy pasting the properties of the parent into the child class.
**Here super() is called to avoid duplicating the constructor parts' that are common between Rectangle and Square. ** MDN
I read on MDN that you need to extend a class and call super()
to be able to. And also
The super keyword is used to access and call functions on an object's parent.
which I do not fully understand.
I tested those in this example:
class Logger extends Array {
log() {
let i = 0
for (const el of this) {
console.log(this[i], el)
i++
}
return;
}
}
a = new Logger(1, 2, 3)
a.log()
a.push(6)
But neither super() is needed for accessing this[i]
or calling a.push()
any hints folks?