I’m not commenting on when someone should learn something because we all learn differently. I just want to point out the value of learning prototypes and inheritance.
This article on inheritance, which you’ve probably already read, helped me the most; it is what sort of turned on the light bulb for me.
I started learning JS a few years ago without knowing anything about object-oriented programming with the purpose of building one large application; and I coded using objects only as another data type. After the light came one, I realized that my code was really a bunch of functions attached to the window object and a lot of variables (that needed to persist beyond the life of a function) stored in custom properties of the relevant functions. And, when I needed another instance of something, those variables became arrays spread across all those funcitons. It worked but it was quite a mess.
Once I came across that article, I was able to take that code and divide it up into specific instances of different objects with only the methods that each object required. All those function properties became properties of specific object instances and no arrays were needed any longer to organize them because the methods were inherited and attached to the object and invoked using “this”. Using “this” and the call
method made it all work much better and the code cleaner; and far fewer local variables were needed to be declared because they are stored in the objects and referenced using “this”.
The article on this and the call method helped a great deal, too.
Had I known this at the start, I could’ve saved a lot of trouble in altering about 50k lines of code. However, I don’t know if I could’ve understood it without having already gone through building everything as I did first.
After all that, these comments are probably useless but, if you haven’t seen those articles, perhaps they may be helpful and the light bulb will turn on sooner for you than it did for me.
Good luck.