Took a week’s break, now I am afraid I may have forgotten the content of all previous challenges. I am continuing the new ones just fine for the past two days now on ES6. But what do I do in order for me to take a refresher that size without spending hours lol.
I wouldn’t worry about it too much. You are not expected to memorize everything. Just do a little side research every time you’re not sure about something. Developers do that all the time - it’s part of the job.
ES6 is becoming more of blur as I do the Regex challenges. I feel Regex will be the same. This is because I have never learned anything this long in such a fashion. Math was the closest thing to this style of learning but I realize everyone learns math this way. So it works! I still have this sort of paranoia that forgetting a lot of this stuff is making it useless and it takes chunks motivation away tbh.
First of all, regex and ES6 are very different tools with very different purposes. A modern JS programmer absolutely needs ES6 (although it is OK if it is not the most important thing on which you are focusing in the beginning). Really ES6 is just JS. For a while there is was new and had limited support across browsers, but with transpilers like Babel, it is everywhere and increasingly so are ES7 and beyond. The distinction between ES6 and JS is antiquated and will slowly die off.
Regex is a powerful tool for parsing stings that is used in many languages. It is very powerful and will save you a lot of hassle. I use it all the time, but I certainly don’t have in memorized. But I know if I am doing complex operations with parsing strings that it is a powerful tool I can use and can look up what I need, when I need it. It’s more important to get an idea the kinds of things regex can do and the basics of how it works. But a regex solution to many problems will often be simpler, more robust, and less prone to errors. (How many times did I use the word powerful in that last paragraph? Not enough!)
Again, don’t worry about forgetting things. No one can memorize all of this stuff. Seriously, you’ve only seen the tip of the iceberg. It’s more important to learn the basics, get familiar with all the stuff, and know how to figure it out. As a professional dev, on a good day I check the MDN docs and such only a dozen times. Usually it’s more. Just keep learning. You’ll forget a bunch but as you relearn more and more of it will stick. And you’ll get better at knowing where to find what you can’t quite remember.
Just keep learning and moving forward. Don’t worry about perfection. Worry about progress.
The key is repetition. For example, you run into a problem on FCC that is solved with X, and learn about X. Run into it again on a latter challenge and read-up on X, and check out the docs. Run into X again on another project, or just the same project, but you forgot X, you already kinda remember about X and do most of it from memory, or reference in other code. Run into X another time a yea from now and pretty much know the answer.
Just like math, “code builds on itself”, and the same problems you find most of the time will repeat themselves. Just keep practicing and struggling and seeking out those answers. The more you struggle the more you need to learn, and the more your “prepared for” in the future. You won’t ever be “all knowing”, but you might have gotten enough experience to be able to figure it out one way or another, maybe not from memory, but with some help from the docs/internet too
I’d argue if you need “hours” to figure out something you did before, odds are you didn’t learn it well enough the first time, and repetition is required. Doing something hard one time doesn’t mean you “learned it”, but doing it a few times from scratch will really ingrain the idea into muscle memory, so you can spend less time figuring it out, and instead figure something else out (like the bigger picture hehe)
Goodluck, its not a quick painless process, but it’s not hard, just takes time patience and perseverance.