JS◆
The JavaScript Book
About
CONTENTS
I.
The Language
▸
What is JavaScript?
How JavaScript Runs
JavaScript Engines
Writing Your First JavaScript
Statements
Expressions
Comments
II.
Variables & Values
▸
Variables
let
const
var
Values
Primitive Values
III.
Data Types
▸
Data Types
Strings
Numbers
BigInt
Boolean
Undefined
Null
Symbol
IV.
Operators & Expressions
▸
Arithmetic Operators
Assignment Operators
Comparison Operators
Logical Operators
Equality
Strict Equality
Type Coercion
Truthy and Falsy Values
Nullish Coalescing
Optional Chaining
Ternary Operator
V.
Control Flow
▸
if
else
else if
switch
for
while
do while
break
continue
VI.
Functions
▸
What is a Function?
Function Declaration
Function Expression
Calling Functions
Parameters
Arguments
Return Values
Default Parameters
Rest Parameters
Arrow Functions
Anonymous Functions
Callback Functions
Higher-Order Functions
Pure Functions
Recursion
VII.
Objects
▸
What is an Object?
Properties
Methods
Object References
Object Destructuring
Spread Syntax
VIII.
Arrays
▸
Arrays
Array Indexes
Array Methods
map
filter
reduce
forEach
Array Destructuring
Reference vs Value
IX.
Scope
▸
What is Scope?
Global Scope
Function Scope
Block Scope
Lexical Scope
Scope Chain
Lexical Environment
Hoisting
Temporal Dead Zone
X.
Closures
▸
Closures
How Closures Remember Variables
Practical Uses of Closures
XI.
The JavaScript Runtime
▸
What Happens When JavaScript Runs?
JavaScript Runtime
JavaScript Engine
XII.
Execution Context
▸
Execution Context
Global Execution Context
Function Execution Context
Creation Phase
Execution Phase
XIII.
Call Stack
▸
Call Stack
Stack Overflow
XIV.
Heap & Memory
▸
Heap
Memory
Garbage Collection
XV.
The Event Loop
▸
Event Loop
How the Event Loop Works
XVI.
Asynchronous JavaScript
▸
Synchronous JavaScript
Asynchronous JavaScript
Blocking vs Non-Blocking
Web APIs
Callbacks
Callback Queue
Microtask Queue
Macrotask Queue
XVII.
Promises
▸
Promises
Promise States
Promise Chaining
XVIII.
Async / Await
▸
async
await
XIX.
Prototypes
▸
Prototype
Prototype Chain
Inheritance
Constructor Functions
XX.
Classes
▸
Classes
Class Methods
extends
super
Private Fields
XXI.
The `this` Keyword
▸
What is `this`?
Global Context
Object Method
Constructor
Explicit Binding
call
apply
bind
Arrow Functions and `this`
XXII.
Modules
▸
Modules
import
export
ES Modules
CommonJS
XXIII.
Error Handling
▸
Strict Mode
Error Handling
try
catch
finally
Custom Errors
XXIV.
Advanced Concepts
▸
Iterators
Generators
Symbols
WeakMap
WeakSet
Event Delegation
Debouncing
Throttling
The JavaScript Book
Homepage content pending — see build/generate.js warnings.