JavaScript ExpressLearn JavaScript through interactive examples


JavaScript is a versatile language for building websites, servers, mobile apps, more!

This guide is intended for developers who know at least one other programming language well. We won't cover general programming concepts (e.g. what is a variable?), but rather JavaScript-specific concepts (e.g. how do variables work in JavaScript?).

JavaScript is quirky

The first version of JavaScript was famously written in 10 days by Brendan Eich while working on Mozilla. It's full of quirky features that were meant to be convenient for writing small scripts, but which can be counterintuitive when building large apps.

Unlike most other languages, JavaScript is almost completely backwards compatible. New syntax and standard library methods are added often, but almost nothing is ever removed, since that would break too many existing websites.

Since JavaScript has quirky features and since they likely won't be removed, it's important to understand the common patterns and idioms used by JavaScript developers in order to write high-quality software.


JavaScript is dynamically typed, which means that type checking happens at runtime. This is convenient for small scripts, but for large apps it's often helpful to have type checking at compile-time.

TypeScript is a language that extends JavaScript, adding syntax for type declarations and annotations. The TypeScript compiler can then perform compile-time type checking, before transforming the TypeScript code into JavaScript.

In this guide, we'll be using TypeScript.

Next - Types