4 ms·
I'm going to second most of this. > become one with "asyncness" in JS. This is probably the biggest hurdle most people hit with Javascript. Really understand
by notduncansmith 12y ago
I'm going to second most of this.
> become one with "asyncness" in JS.
This is probably the biggest hurdle most people hit with Javascript. Really understand the concept of asynchronosity, and learn about all the different abstractions over it (callbacks, promises, streams, etc). Then look at how other languages (say, Go and Erlang) handle concurrency. Then come back to Javascript and look at things from a new perspective.
> Lodash is JS zen. Even if you don't use it for everything, try and "think like it" when you are solving problems.
This largely means thinking in a "functional" way (as in, functional programming), and is golden advice IMO. Probably the most common piece of advice I give people that want to get better at JS is to program in a more functional style. Warning to OP: you mentioned having really grasped OOJS - be prepared to let some of that way of thinking go. There's definitely a place for object-orientation in Javascript, but in my experience, thinking in more functional terms leads to much simpler, easier-to-maintain code.
> DON'T learn any of the frameworks
This is where I disagree slightly. I don't advocate trying to become a master of every framework-du-jour that comes along, but I think that discerning the key features and insights from popular frameworks is a good way to augment your skills. React promotes a heavily functional style, and emphasizes "one-way flow of data", which I believe is a very powerful concept. One of Angular's more important features is dependency injection - this can do wonders for the structure of your application. These are just some examples, there's plenty to be gained by reading about popular frameworks/libraries, without necessarily becoming a new flavor of zealot every few weeks.