Порядок вызова с super и extends в console
Есть пример кода, но не понятно почему в консоле именно такой порядок выведения
bar foo bar bar foo bar
Разве при вызове super не должен вызываться первым console.log('foo', this.id)
class Foo {
constructor() {
this.id = 'foo'
this.print()
}
print() {
console.log('foo', this.id)
}
}
class Bar extends Foo {
constructor() {
super()
this.id = 'bar'
this.print()
super.print()
}
print() {
console.log('bar', this.id)
}
}
new Bar()
Ответы (1 шт):
Автор решения: Alexey Ten
→ Ссылка
Нет, первым вызывается this.print() в 4 строке. А this в этот момент экземпляр класса Bar, так что вызывается его метод.