JavaScript in Depth

By Xah Lee. Date: . Last updated: .

For beginner, see JavaScript Basics You can start coding in 1 hour.

This tutorial is:

  1. In depth. Based on JavaScript language specification for correctness.
  2. Standalone Code example for every explanation that you can run.
  3. Covers ES2015+.
  4. No framework, library. No coding tricks, patterns, idioms.
  5. Writen in the most simple way. Anyone can understand.
  6. Written in a cold style. No ninja zen, no jargon, just the point. No joke.

Patreon me at https://www.patreon.com/xahlee or buy it for offline reading. Buy Xah JavaScript Tutorial

Subscribe Xah Web Dev BlogWeb Dev

Types

  1. Value Types

Variable

  1. let
  2. const
  3. var
  4. var Order
  5. var Scope
  6. Global Variable
  7. Destructuring Assignment

Function

  1. Define Function
  2. Arrow Function ⭐
  3. Function Params
  4. “arguments” Object
  5. Rest Params ⭐
  6. Arg Default Value ⭐
  7. Arg Destructure ⭐
  8. f Declaration vs Expression
  9. Functional Programing
  10. Closure
  11. f call apply bind

Properties

  1. Property Overview
  2. Property Key
  3. Dot vs Bracket Notation
  4. Create/Delete Property
  5. Get/Set Property
  6. Check Property Existence
  7. Access Property
  8. List Properties
  9. Property Attributes
  10. Getter/Setter
  11. Property Descriptor
  12. Symbol type

Object, Inheritance

  1. Object Overview
  2. Object Type
  3. Prototype, Inheritance
  4. Create Object
  5. Object Literal Expression {…}
  6. Get/Set Prototype
  7. Prevent Adding Property
  8. Type of Object
  9. Clone Object
  10. Equality Test of Objects
  11. Add Method to Prototype

Array

  1. Array
  2. Create Array
  3. Sparse Array
  4. Array-Like Object
  5. Array How-To

Constructor/Class

  1. “this” binding
  2. What's Constructor?
  3. Property “prototype”
  4. Operator “new”
  5. Operator “instanceof”
  6. Property “constructor”
  7. Class
  8. Keyword “extends”
  9. Keyword “super”

String and Character

  1. String
  2. Template String
  3. Char, Code Unit, Code Point
  4. Escape Sequence
  5. Unicode Escape Sequence
  6. to/from Codepoint
  7. Regex Methods
  8. Source Code Encoding
  9. Allowed Chars in Identifier

Iterable ⭐

  1. Interface
  2. Iterable
  3. Iterator
  4. Iterator Prototype
  5. for-of Loop
  6. Spread Operator
  7. Generator
  8. Generator Function

Misc

  1. Object Literal Expression
  2. Set Object
  3. Map Object
  4. Reflect
  5. Try Catch Throw Finally

draft

  1. Import/Export
  2. Promise
  3. Proxy
  4. How to Convert to ES2015

Reference

Here's references used.

Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.

Web Dev Tutorials

  1. HTML
  2. Visual CSS
  3. JS Basics
  4. JS in Depth
  5. JS Reference
  6. DOM
  7. SVG
  8. JS Misc