this, functions playing too many roles, …
Additionally, there is much innovation and experimentation around:
- Language: near-native performance via asm.js , easy parallelization via ParallelJS , macros via Sweet.js, …
- Web platform: Web Components , …
- Power: it’s a very flexible and powerful language.
- Quirkiness: it’s also a spartan and quirky language.
- First-class functions (FP)
- Closures (FP)
- Prototypes (prototypal OOP)
- Object literals (prototypal OOP)
- Array literals (FP)
Testament to the power of aforementioned parts is how many missing features were added using them:
- A better
for loop (the array method
- Inheritance libraries (classes, mixins, etc.)
- Module systems
Learn as much as you can
These are a few things that helped me with learning the language:
- Twitter: is a great way to stay up to date on web development topics and to find out what the community is talking about.
There are several ways in which you can make the language safer:
- Strict mode: you’ll get more errors and a slightly cleaner language.
- JSHint: currently the most popular linter
- ESLint: key strength – easily extensible
- Libraries and frameworks: shield you from some of the quirks of the language and browsers.
- Examples: Underscore.js, jQuery, AngularJS, Ember.js, …
Acknowledgement. This blog post is based on a discussion I had with my colleague Béla Varga.