JavaScript topic hub
Learn The JavaScript language
Follow 94 JavaScript lessons across 14 chapters in the The JavaScript language section of Learn JavaScript Online.
Search topics covered
- The JavaScript language
- The JavaScript language JavaScript
- learn The JavaScript language
- The JavaScript language tutorial
- The JavaScript language lessons
- JavaScript tutorial
- learn JavaScript
- JavaScript course
Lessons in this JavaScript topic
- 1.1An Introduction to JavaScript
- 1.2Manuals and specifications
- 1.3Code editors
- 1.4Developer console
- 2.1Hello, world!
- 2.2Code structure
- 2.3The modern mode, "use strict"
- 2.4Variables
- 2.5Data types
- 2.6Interaction: alert, prompt, confirm
- 2.7Type Conversions
- 2.8Basic operators, maths
- 2.9Comparisons
- 2.10Conditional branching: if, '?'
- 2.11Logical operators
- 2.12Nullish coalescing operator '??'
- 2.13Loops: while and for
- 2.14The "switch" statement
- 2.15Functions
- 2.16Function expressions
- 2.17Arrow functions, the basics
- 2.18JavaScript specials
- 3.1Debugging in the browser
- 3.2Coding Style
- 3.3Comments
- 3.4Ninja code
- 3.5Automated testing with Mocha
- 3.6Polyfills and transpilers
- 4.1Objects
- 4.2Object references and copying
- 4.3Garbage collection
- 4.4Object methods, "this"
- 4.5Constructor, operator "new"
- 4.6Optional chaining '?.'
- 4.7Symbol type
- 4.8Object to primitive conversion
- 5.1Methods of primitives
- 5.2Numbers
- 5.3Strings
- 5.4Arrays
- 5.5Array methods
- 5.6Iterables
- 5.7Map and Set
- 5.8WeakMap and WeakSet
- 5.9Object.keys, values, entries
- 5.10Destructuring assignment
- 5.11Date and time
- 5.12JSON methods, toJSON
- 6.1Recursion and stack
- 6.2Rest parameters and spread syntax
- 6.3Variable scope, closure
- 6.4The old "var"
- 6.5Global object
- 6.6Function object, NFE
- 6.7The "new Function" syntax
- 6.8Scheduling: setTimeout and setInterval
- 6.9Decorators and forwarding, call/apply
- 6.10Function binding
- 6.11Arrow functions revisited
- 7.1Property flags and descriptors
- 7.2Property getters and setters
- 8.1Prototypal inheritance
- 8.2F.prototype
- 8.3Native prototypes
- 8.4Prototype methods, objects without __proto__
- 9.1Class basic syntax
- 9.2Class inheritance
- 9.3Static properties and methods
- 9.4Private and protected properties and methods
- 9.5Extending built-in classes
- 9.6Class checking: "instanceof"
- 9.7Mixins
- 10.1Error handling, "try...catch"
- 10.2Custom errors, extending Error
- 11.1Introduction: callbacks
- 11.2Promise
- 11.3Promises chaining
- 11.4Error handling with promises
- 11.5Promise API
- 11.6Promisification
- 11.7Microtasks
- 11.8Async/await
- 12.1Generators
- 12.2Async iteration and generators
- 13.1Modules, introduction
- 13.2Export and Import
- 13.3Dynamic imports
- 14.1Proxy and Reflect
- 14.2Eval: run a code string
- 14.3Currying
- 14.4Reference Type
- 14.5BigInt
- 14.6Unicode, String internals
- 14.7WeakRef and FinalizationRegistry