Eloquent JavaScript: A Modern Introduction to Programming

(1 review)


Marijn Haverbeke

Pub Date: 2014

ISBN 13: 978-1-5932758-4-6

Publisher: Independent

Conditions of Use



  All reviews are licensed under a CC BY-ND license.

Learn more about reviews.


Reviewed by Brian Bird, Faculty, Lane Community College, on 6/21/2017.

This book is quite comprehensive. It covers the features of the JavaScript language thoroughly as well as giving a complete explanation of the way … read more


Table of 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

About the Book

This book contains roughly three parts. The first 11 chapters discuss the JavaScript language itself. The next eight chapters are about web browsers and the way JavaScript is used to program them. Finally, two chapters are devoted to Node.js, another environment to program JavaScript in. Throughout the book, there are five project chapters, which describe larger example programs to give you a taste of real programming. In order of appearance, we will work through building an artificial life simulation, a programming language, a platform game, a paint program, and a dynamic website.

About the Contributors


Marijn Haverbeke is a programming language enthusiast and polyglot. He's worked his way from trivial BASIC games on the Commodore, through a C++ phase, to the present where he mostly hacks on database systems and web APIs in dynamic languages. He recently won the JS1K—JavaScript demo in 1024 bytes—contest, and is the author of a wide range of open-source software.