Eloquent JavaScript, 4th Edition

by Marijn Haverbeke
September 2024, 456 pp
ISBN-13: 
9781718504103

Download Chapter 5: Higher-Order Functions

Look Inside!

Eloquent JavaScript, 4th Edition back cover
Eloquent JavaScript, 4th Edition pages 42-43Eloquent JavaScript, 4th Edition pages 108-109Eloquent JavaScript, 4th Edition pages 168-169

JavaScript, the programming language that allows us to add programs to web pages, lies at the heart of almost every modern web application, from social media sites to browser-based games. Just about every device can run it, making it a great choice for writing universally useful code.

The fourth edition of this classic textbook takes you on a journey through the language of the web, starting from its basic elements and building up to engaging, complete programs. The author’s personal experiences from years of maintaining popular open source projects enliven the text with practical insights and examples. 

This edition of Eloquent JavaScript updates the book to describe the 2024 version of JavaScript, and shifts the attention given to some topics to better reflect current development practices.

The text takes a practical approach to teaching, rooting theory in plenty of motivating examples. The first half of the book describes the fundamentals of the language, whereas the second half shows how to apply it in two programming environments: the web browser and Node.js. Five project chapters show how to build bigger programs, working through these projects in a piecemeal, conversational way. They include a pathfinding robot, a small programming language, a platform game, a pixel drawing program, and a simple dynamic website.

Exercises provided at the end of most chapters will challenge you to creatively apply the concepts and techniques introduced. The book’s companion website provides an interactive environment for working on these exercises and playing with the example programs.

Whether you’re looking to learn JavaScript or to deepen your programming skills, you’ll find this book full of stimulating material.

Updated to ECMAScript 2024

Author Bio 

Marijn Haverbeke is a programming language enthusiast and polyglot. He’s worked on a wide range of software systems, from databases to compilers to editors. He runs a small business around his open source projects.

Table of contents 

Introduction

PART I: LANGUAGE
Chapter 1: Values, Types, and Operators
Chapter 2: Program Structure
Chapter 3: Functions
Chapter 4: Data Structures: Objects and Arrays
Chapter 5: Higher-Order Functions
Chapter 6: The Secret Life of Objects
Chapter 7: Project: A Robot
Chapter 8: Bugs and Errors.
Chapter 9: Regular Expressions
Chapter 10: Modules
Chapter 11: Asynchronous Programming
Chapter 12: Project: A Programming Language

PART II: BROWSER
Chapter 13: JavaScript and the Browser
Chapter 14: The Document Object Model
Chapter 15: Handling Events
Chapter 16: Project: A Platform Game
Chapter 17: Drawing on Canvas
Chapter 18: HTTP and Forms
Chapter 19: Project: A Pixel Art Editor

PART III: NODE
Chapter 20: Node.js
Chapter 21: Project: Skill-Sharing Website
Chapter 22: JavaScript and Performance
Exercise Hints
Index

View the detailed Table of Contents
View the Index

Reviews 

Reviews from the 3rd edition:

“A worthy and much-needed update to the popular programming book. The fact that the book covers ES6 is worth a re-read, but the new edition goes above and beyond with new illustrations, a new exercise, and tighter writing. The 3rd edition of the book is substantially improved from its predecessors and worthy of the hype.”
—Books on Code

"It’s a smart, lean JavaScript tutorial that exists as an in-print book from No Starch Press, and a free, nicely formatted web version . . . easily the most enjoyable read in this list. And there are so many useful insights that you won’t be bored."
—Matthew MacDonald, Medium's Young Coder

“This is all the JavaScript knowledge you’ll need to hit the ground running in a JavaScript project . . . it’s a book I will be frequently revisiting as it has put JavaScript back on my radar.”
—GeekTeckStuff

“This book would make a great addition to any developer's reference books . . . I really like the author's style of writing and clarity of explanations. The sample code and exercises also work, which can be a rare feature in tech-related books”
—Gary Woodfine, Software Developer

“I think this is one of the most enjoyable programming books I’ve read. It covers the core features of the language concisely but then goes on to illustrate how to use those features.”
—Ian Hopkinson, IanHopkinson.org

“If you’re at all interested in learning JavaScript, making this your first guide could mean the difference between getting discouraged and giving up and really getting into programming as a lifelong venture.”
—Joshua Johnson, Design Shack

“Marijn Haverbeke is a software philosopher and all-round genius. He also has a terrific sense of humor and writes both prose and code in a friendly and un-intimidating fashion. In common with the very best teachers he dispenses his wisdom with disarming simplicity. I became a better architect, author, mentor and developer because of this book. It deserves to share shelf space with Flannagan and Crockford.”
—Angus Croll, Javascript We Blog

"A tour de force that takes you from the fundamentals to the heights of JavaScript mastery. Marijn Haverbeke’s conversational prose breathes life into JavaScript, making it accessible and engaging."
—Alex Maher, .NET C# dev

"The author, Marijn Haverbeke, has a great voice."
—Abu Sayed, Sayed.Cyou Blog

"One of the things that makes [Eloquent JavaScript, 3rd Edition] so good is that it doesn’t shy away from complexity . . . Haverbeke is a talented teacher, and he seems to have an intuitive understanding of how difficult concepts can be explained without oversimplifying them."
—Neil Abad, Book Review Buffs