the only advantage that I could think of using this is the ability of reusing functions. Using the method suggested by my friend will create a new function instance for every object created. But if we use class, essentially we are using prototype, so all the methods will only be defined once. It makes a difference when we are creating the same instance many many times.
It completely shatter the prototype which is bad IMO. Your friend's method not only create a new function each time, but prevent any ineritance.
Also, it's not possible to supercharge Car's prototype.
The "this" keyword can be tricky, but avoiding it leaves you in a land without OOP.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.