Nowadays, we have an enormous amount of tools on the front end to resolve the different issues that we may face. This is great in many ways, primarily because you don’t have to reinvent the wheel every time.

But it also has some really bad consequences. One of them is the situation where developers know how to use the tools but have no idea what JavaScript is actually doing behind the scenes. As a front-end developer, we have the obligation to know as much as we can about JS. That knowledge is going to allow you to easily understand what and how any library or framework works and is going to help you resolve any complicated issue that you may run into.

It’s OK to use tools, but you have to ask yourself, “Can I implement this from scratch?”

If the answer is yes, then go ahead and use any already implemented functionality. But if the answer is no, then you should at least try to understand what is actually happening.

While thinking about all of this, I decided to start implementing and blogging some of the most common features that all of these new — and not so new — frameworks and libraries have.