Welcome to Learn JavaScript!
An in-depth course on the basics of JavaScript.
Introduction to JavaScript
A brief history of JavaScript and an overview of its basic rules.
Data types and structures
The basic "primitive" data types of JavaScript.
Numbers
Learn how to use JavaScript's number data type.
Strings
Learn how to use JavaScript's string data type.
Booleans
Learn how to use JavaScript's boolean data type.
Null and undefined values
Learn how to use JavaScript's null and undefined data types.
BigInt
Learn how to use JavaScript's BigInt data type.
Symbols
Learn how to use JavaScript's symbol data type.
Variables
Learn how to use JavaScript variables.
Comparison operators
Learn how to use comparison operators.
Control flow
Learn about JavaScript's control flow.
Introduction to functions
An introduction to JavaScript functions.
Function expressions
An introduction to JavaScript function expressions.
The "new" keyword
Call functions using the `new` keyword to create objects.
The "return" keyword
Use the `return` keyword to get more out of your functions.
The "this" keyword
Use the `this` keyword to work with the context your function executes in.
Introduction to objects
Introduction to JavaScript objects.
Property accessors
Learn how to set, alter, and access the properties of an object.
Prototypal inheritance
JavaScript objects and prototypal inheritance.
Property descriptors
Use property descriptors to configure your JavaScript objects.
Indexed collections
Learn how to use indexed collections such as arrays.
Keyed collections
Learn how to use keyed collections such as maps and sets.
Introduction to classes
Learn how to use classes in JavaScript.
Extend classes
The `extends` keyword lets you create subclasses of existing classes.
Class fields and methods
Use class fields and methods to add properties to your classes.
Static initialization blocks
Use static initialization blocks to set or alter static fields.
Appendix
Additional information that might be helpful on your JavaScript journey.