Vanilla JavaScript first might NOT be best!
When you learn JavaScript, you often hear that you need ALL the basics before you dive into a framework. I dare to disagree.
When you dive into frontend web development, you'll need to pick up a JavaScript framework like Angular, React or Vue at some point. It makes building complex web apps easier.
A lot of people tell you that you need to learn "vanilla JavaScript" (i.e. without any framework) first. I'd argue, that you certainly need some basics but that you should definitely consider diving into a framework early - not spend months and years on just the basics.
Some Basics ARE Required
Just to make this clear: I'm NOT saying, that you need absolutely NO prior JavaScript knowledge before diving into frameworks like Angular, React or Vue.
But I don't agree with people who say that you need to have thorough and detailed JavaScript knowledge before you explore those frameworks.
In my opinion, you can learn more about JavaScript whilst you also learn the frameworks. After all, you still write normal JavaScript code when working with React. Sure, using some React features, but still JavaScript in the end.
It Might Not Be For Everyone
Of course, not everyone might benefit from diving into frameworks early.
You need to accept that this will require you to do extra JavaScript studies and research along the way.
A course or tutorial focusing on a framework might assume certain JavaScript knowledge you might not have yet. So you need to be willing to pick it up whilst you're learning.
And, of course, not everyone learns the same way. It will certainly be easier for some people to learn "vanilla JavaScript" first before they dive into a framework. This can absolutely be the case.
But I can only recommend that you at least give it a try. Pause digging deeper and deeper into vanilla JavaScript and explore those awesome frameworks we use nowadays: React, Angular and Vue.
We got courses on all three of them (React, Angular, Vue) and we also got a detailed comparison so that you can find your personal favorite!