Stay organized with collections
Save and categorize content based on your preferences.
check_circle
Welcome to Learn JavaScript!
keyboard_arrow_down
keyboard_arrow_up
subject
Article
An in-depth course on the basics of JavaScript.
check_circle
Introduction to JavaScript
keyboard_arrow_down
keyboard_arrow_up
subject
Article
A brief history of JavaScript and an overview of its basic rules.
check_circle
Data types and structures
keyboard_arrow_down
keyboard_arrow_up
subject
Article
The basic "primitive" data types of JavaScript.
check_circle
Numbers
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use JavaScript's number data type.
check_circle
Strings
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use JavaScript's string data type.
check_circle
Booleans
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use JavaScript's boolean data type.
check_circle
Null and undefined values
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use JavaScript's null and undefined data types.
check_circle
BigInt
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use JavaScript's BigInt data type.
check_circle
Symbols
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use JavaScript's symbol data type.
check_circle
Variables
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use JavaScript variables.
check_circle
Comparison operators
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use comparison operators.
check_circle
Control flow
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn about JavaScript's control flow.
check_circle
Introduction to functions
keyboard_arrow_down
keyboard_arrow_up
subject
Article
An introduction to JavaScript functions.
check_circle
Function expressions
keyboard_arrow_down
keyboard_arrow_up
subject
Article
An introduction to JavaScript function expressions.
check_circle
The "new" keyword
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Call functions using the `new` keyword to create objects.
check_circle
The "return" keyword
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Use the `return` keyword to get more out of your functions.
check_circle
The "this" keyword
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Use the `this` keyword to work with the context your function executes in.
check_circle
Introduction to objects
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Introduction to JavaScript objects.
check_circle
Property accessors
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to set, alter, and access the properties of an object.
check_circle
Prototypal inheritance
keyboard_arrow_down
keyboard_arrow_up
subject
Article
JavaScript objects and prototypal inheritance.
check_circle
Property descriptors
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Use property descriptors to configure your JavaScript objects.
check_circle
Indexed collections
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use indexed collections such as arrays.
check_circle
Keyed collections
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use keyed collections such as maps and sets.
check_circle
Introduction to classes
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Learn how to use classes in JavaScript.
check_circle
Extend classes
keyboard_arrow_down
keyboard_arrow_up
subject
Article
The `extends` keyword lets you create subclasses of existing classes.
check_circle
Class fields and methods
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Use class fields and methods to add properties to your classes.
check_circle
Static initialization blocks
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Use static initialization blocks to set or alter static fields.
check_circle
Appendix
keyboard_arrow_down
keyboard_arrow_up
subject
Article
Optional
Additional information that might be helpful on your JavaScript journey.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[]]