Yesterday I asked on Twitter:
“What is the most complicated topic in JavaScript? The one it took you the most to learn?”
and I got over 200 replies.
Here are some things that I saw mentioned multiple times:
this
- Asynchronous JavaScript (promises, callbacks, async/await)
- Closures
- The event loop
- Recursion
- Scope
- Hoisting
- Prototypical inheritance
bind()
,call()
,apply()
reduce()
- Generators
fetch()
Perhaps with the exception of generators, which are very niche, the rest is all things we write every day in JavaScript.
I have articles on this blog about all of those, and you can use search to find them, but the reason I asked this question was that I’m working on the outline of The JavaScript Course, a new high-quality course I’m preparing for November.
This course will start from the basics, because I don’t want to exclude people that don’t know JavaScript yet, but will quickly get into the real deal.
And I want to make sure I cover everything that is confusing.
I’m organizing this new course in a way that I’ve never done before, and it will be special.
The format will revisit a course I did in 2019 where I sent an email every day with some questions and challenges.
The course will last 4 weeks, 20 days in total (Monday to Friday). Each day a new lesson will unlock, and it will be built in a way that’s fun and interactive to consume. We’ll be all in on that day’s topic.
Each day you’ll get an email that will push you to action. Consistency is key and once you enroll I don’t want you to sit on the sidelines. I want you to act and learn together with everyone else enrolled in the course.
A big community focused on just doing that for 20 days, and level up together.
I built a new course platform for that, and I hope it will be a great experience.
We’ll of course have a community because this is a special event and all special events deserve a community to help each other out.
Well, all the topics I listed above will have a special treatment, because this might be the course that will make them click once and for all.