Ну, первые два изменения, положим, на внимательность: extends дольше одной итерации правка/запуск …
Александр Тужик
1
Дело в том, что это был собес на наставника по JS в htmlacademy. То есть ситуация как раз жизненная и рабочая. То есть нужно и внимательно увидеть и достаточно хорошо разбираться в теории, чтобы мочь объяснить почему это не работает.
Но третий пункт это не адовый, это артефакты попыток реализовать классы в языке с прототипным наследованием.