It doesn't need to be extreme. I just recommended writing one or two "classes" using the old style, in the beginning, because that's a great way to solidify understanding of how the inheritance actually works. Whereas when you're using ES6 classes, you're using hidden abstractions that can make debugging very confusing if you don't know what the "class" keyword is doing.
https://i.imgur.com/p9Kw815.png
If you've used Python classes and inheritance all this time and never felt confused, then people can also use JavaScript's classes and inheritance and never feel confused.
Debugging I can see as being a reasonable argument - as you step through code you should understand what “proto” means. That’s the most compelling reason I’ve seen thus far...
It might be a good idea to learn about this before using ES6 classes; remember that ES6 classes are syntactic sugar on top of prototypal inheritance anyway. They wouldn't learn legacy patterns, but the actual pattern that JavaScript uses.
function getUser() {}
That is creating an instance of the `Function` constructor object[1][2]. In a Classical (as classes) language, you would see that like this: // `Function` being a class
function getUser extends Function {}
but because JavaScript is purely prototypal, this works differently.You say that there's no reason to learn prototypal inheritance, well, the only and valid reason is that to write at least decent JavaScript you have to understand how it works behind the scenes.
* [1] - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
* [2] - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Edit: add links
Idk how he could be more clear about why.
TBH, the only reason that seems to make sense is some kind of weird “I knew JavaScript before it had classes!” kind of sentiment that wouldn’t actually teach him anything of value.