So You Think You Know JavaScript?
At the surface, JavaScript can seem like a quite simple language. It has functions, arrays, objects, strings, for loops, and many other mainstays of programming languages, but lacks type safety. Perhaps you’ve written a bit of JavaScript yourself and found it to be very similar to other languages with C-style syntax, but without many of the higher-concept Object-Oriented features.
On the other hand, you may have heard it said that JavaScript is a strange and powerful language. Perhaps you’ve wondered what they meant, or maybe you assumed it was all because of the lack of type restrictions. This article aims to answer the question: What’s so special about JavaScript?
For general comments and discussion, I’ve enabled the Discussions section on this GitHub repo, which can be found here. If you notice any mistakes or typos, feel free to create a Pull Request with a fix or an Issue on this repository.
Without further ado, let’s get started!
Table of contents
- Just My Type
- What the Heck-ma Is an Ecma?
- Strictly Speaking
- JavaScript Just Got Classier
- Not the Inheritance You Expected
- Hoisting and Scope
- Templated String Literals
- What Do We Need Four `for`s For?
- Properties
- Functions
- Asynchronous Code and the Event Loop
- Callbacks
- Promise
- Async/Await
- Observables
- Next Steps