Eloquent JavaScriptsecond edition
This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here, or get your own paperback copy of the book.
Written by Marijn Haverbeke.
Licensed under a Creative Commons attribution-noncommercial license. All code in this book may also be considered licensed under an MIT license.
Illustrations by various artists: Cover by Wasif Hyder. Computer (introduction) and unicycle people (Chapter 21) by Max Xiantu. Sea of bits (Chapter 1) and weresquirrel (Chapter 4) by Margarita Martínez and José Menor. Octopuses (Chapter 2 and 4) by Jim Tierney. Object with on/off switch (Chapter 6) by Dyle MacGregor. Regular expression diagrams in Chapter 9 generated with regexper.com by Jeff Avallone. Game concept for Chapter 15 by Thomas Palef. Pixel art in Chapter 16 by Antonio Perdomo Pastor.
The second edition was made possible by 454 financial backers, with significant contributions from , , and .
Contents
- Introduction
-
(Part 1: Language)
Values, Types, and Operators - Program Structure
- Functions
- Data Structures: Objects and Arrays
- Higher-order Functions
- The Secret Life of Objects
- Project: Electronic Life
- Bugs and Error Handling
- Regular Expressions
- Modules
- Project: A Programming Language
-
(Part 2: Browser)
JavaScript and the Browser - The Document Object Model
- Handling Events
- Project: A Platform Game
- Drawing on Canvas
- HTTP
- Forms and Form Fields
- Project: A Paint Program
-
(Part 3: Node)
Node.js - Project: Skill-Sharing Website
Other pages
A paper version of Eloquent JavaScript, including a bonus chapter, is being brought out by No Starch Press. They also sell an ebook version more polished than the files linked below.
- Code sandbox and exercise solutions
- Errata for the paper book
- This book as a single PDF file (& small version for mobile)
- This book as an EPUB file
- The first edition of the book