Eloquent JavaScript: A Modern Introduction to Programming and over 2 million other books are available for Amazon Kindle . Learn more
  • RRP: £26.50
  • You Save: £2.35 (9%)
FREE Delivery in the UK.
Only 3 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Eloquent JavaScript: A Mo... has been added to your Basket
Trade in your item
Get a £8.60
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Eloquent JavaScript: A Modern Introduction to Programming Paperback – 14 Dec 2014

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£14.48 £17.34
£24.15 FREE Delivery in the UK. Only 3 left in stock (more on the way). Dispatched from and sold by Amazon. Gift-wrap available.

Frequently Bought Together

Eloquent JavaScript: A Modern Introduction to Programming + JavaScript: The Good Parts + JavaScript: The Definitive Guide (Definitive Guides)
Price For All Three: £70.94

Buy the selected items together

Trade In this Item for up to £8.60
Trade in Eloquent JavaScript: A Modern Introduction to Programming for an Amazon Gift Card of up to £8.60, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 472 pages
  • Publisher: No Starch Press; 2 edition (14 Dec. 2014)
  • Language: English
  • ISBN-10: 1593275846
  • ISBN-13: 978-1593275846
  • Product Dimensions: 2.5 x 17.8 x 23.5 cm
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 12,701 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

About the Author

Marijn Haverbeke is an independent developer and author, focused primarily on programming languages and tools for programmers. He spends most of his time working on open source software, such as the CodeMirror editor and the Tern type inference engine.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

Format: Kindle Edition Verified Purchase
Clear and concise writing. The author has a good understanding of the subject.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: 20 reviews
15 of 15 people found the following review helpful
It's about programming, not javascript. 16 Feb. 2015
By FeFiFoFu - Published on Amazon.com
Format: Paperback
This is book is phenomenal - the best book on programming I've ever read. But it's important to note: it's about programming. The programming just happens to be in in Javascript. If you are looking to learn a few JS commands for your website, this is probably not the right book.

Contrary to the other reviews, Eloquent Javascript is for beginners. This can been seen in Chapter 1... it starts with the number "13". Then goes to arithmetic with "100 + 4 * 11", then boolean "3 > 2". Definitely for beginners.

No, the code examples are not superficial. It's similar to Zed Shaw's exercises in Learn Python the Hard Way - they are specially crafted to teach you something. You should type out the examples on your computer, write comments on what each line does, download the data files from the website, and get the examples to run.

The author put this quote in the introduction:
"I do not enlighten those who are not eager to learn, nor arouse those who are not anxious to give an explanation themselves. If I have presented one corner of the square and they cannot come back to me with the other three, I should not go over the points again." -Confucius

The reason I like Eloquent Javascript so much is that, unlike textbooks, it is written in an easy-going manner, like he's talking to you. Each example builds on previous examples, each chapter builds on the previous chapters. Slowly building up your knowledge. Sometimes without me realizing how much I'm learning.

An example is functional programming. I never understood it or the hype. I read many articles and discussion forums, but I never really got it. In Chapter 5, Higher-Order Functions, the author doesn't even mention the buzz-words "functional programming". He simply starts off with the typical for-loop to print each item in an array. Then he shows how the for-loop can be enclosed in a function. Then he modifies the function so it can take in generic actions instead of just printing - a function that takes another function as input. For practice with functions on functions, you create a few more: filter, map, reduce... BAM! it all hits me. With the stuff I learnt in Chapter 3, I now know the benefits of no-side effects, limiting scope, recursion, and leaving the original data alone. I see why stringing small functions together allows more flexibility than a long recipe of for-loops. I see why functions allow you to follow the data being manipulated more clearly. I finally get it.

The funny thing is, the book isn't even that "deep". After all, it's actually a programming book where he walks you through code examples, not a conceptual computer science book. It's odd how concepts just come to you - that's how eloquent the book actually is.
20 of 22 people found the following review helpful
A book with detailed but challenging examples 17 Dec. 2014
By J. Park - Published on Amazon.com
Format: Paperback
After going through this book, I think this book is rather suitable for people with some familiarity with programming than for someone who is new to programming.

As a programming student myself, the book covers important foundations of JavaScript in detail but I have to agree with another review that the examples are difficult to follow. The examples demonstrate how powerful the concept can be, but as a textbook intended to introduce people to programming, the examples can become difficult to comprehend. It's like telling a child to build a Death Star out of legos after teaching them how lego blocks can be attached together (I'm exaggerating but you get the gist). Otherwise, the book offers a strong foundation in every concept you need to learn (No wonder one of the top JavaScript-oriented bootcamps recommends this book). The book's exercise problems are very helpful getting familiar with JavaScript once you master them, and your JavaScript discipline will be great. It will take you a while if this book is the only source , so I recommend combine this book with another source (e.g. JavascriptIsSexy, Mozilla MDN, The Definitive Guide, etc). The author is definitely coming from a programmer's perspective when he's explaining JS concepts. But in order for the book to be an effective textbook, the book should be written from the reader's perspective & that's where the book falls short. It's understandable in a way, because the author is an expert in programming and lives, eats, and sleeps with programming, which may be why the book can't translate concepts to the intended audience who know virtually nothing about programming.

The book's flow is similar to a narrative. Sometimes, it can get weird and confusing (i.e. one of the many reasons the author confuses you). BUT, it attempts to introduce the concepts by illustrating how it can be utilized in real applications (the real-application explanations are really really great. it's one of the best, but it will take you forever to know what's going on).

It was fun read in a way. It was difficult, too... So use another source to understand JavaScript and attempt this book's exercises. They will stimulate your brain and probably increase your IQ (your brain will thank you). projecteuler,coderbyte, codewars are good places for exercises (try coderbyte first, then move onto codewars, then projecteuler).
16 of 20 people found the following review helpful
Examples are difficult to follow, yet it's a good book to overview the language. 17 Dec. 2014
By Yumiko - Published on Amazon.com
Format: Paperback
First, thanks for Marijn provided the content for free on his website. Well, I guess this was the first JS book that I read. I thought it was interesting, because it provided related exercises at the end of each chapter, and it also walked you through great projects by the end of a section, which beginners are always feel excited about doing projects.
It is a great book to have an overview of Javascript; however, it is not a good book to master the language.
For example, I read Professional JavaScript for Web Developers, it's awesome, it is the best JS book I read so far. I am a newbie, but I understand exactly what Professional JS for Web Developers' definitions of OOP. But, I need practice, so I tried to use Eloquent Javascript's exercises to practice. It's difficult to follow the author's thought.

The Laying Out A Table in Chapter 6, it is a fun exercise, but I cannot understand why the author is writing those functions. Even though he tried to explain it what he was doing, I still have no idea what each variable is doing there. I guess one of the reasons that it's difficult to follow is because the data is scattered. You need to check the source codes, which included the project's sample data first.

Anyways, I tried to read it 5 times, I still cannot follow what he is doing.

Probably, I need to get exercises from somewhere else.
5 of 5 people found the following review helpful
Wish I'd read this earlier 22 Jan. 2015
By Amazon Customer - Published on Amazon.com
Format: Paperback
Excellent book but not for absolute beginners. This is for folks that have the programming basics under their belt, JavaScript or others. That said, it was able to help me wrap my head around things like Higher-Order Functions. Things that I'd struggled with for quite awhile. It builds on simple examples to get to more complex issues. Seems the author was very conscience of this. I also appreciated the fact that the author has excersizes along the way to practice the concepts. Not a usual for programming books I've read outside of textbooks.
3 of 3 people found the following review helpful
No Pain, No Gain?? 7 Mar. 2015
By hermit8888 - Published on Amazon.com
Format: Paperback
I agree with what most of the other reviewers are saying. I like the explanations of the various data structures. I'm not through with the book yet, but so far I am finding it difficult to follow the exercises. Mainly because I feel they are above my skill level, so are disheartening when I don't automatically know what course of action to take. Though I find the exercises less cumbersome if I don't try to solve them in the same way that I think the author would. And if I get stuck, not waste too much time agonizing over them, but instead first try to understand the problem and then try to devise a solution, and then if that fails, go to the website and analyze the author's solution to see where I went wrong. For instance, in chapter 4 he kinda just springs linked lists on the reader. I've been studying JS for some time (even took a class), this is the first time I've seen linked lists. After a little research, I find that they're not a commonly used data structure in JS, but are common in a formal computer science classroom setting and are used under very specific circumstances. This is something I didn't know before, and I feel I'm a better programmer for having taken the time to research it and at least try to formulate a solution. There are several linked list examples online, but even here the author takes his own route in solving the problem. His solution seems more compact and elegant than most of the online solutions (though each solution solved a different problem). Herein lies the beauty of this book.

All-in-all I find the data structure explanations much like every other programming book, and I find the assignments painful and I feel pretty stupid most of the time I'm trying to solve them, but if its making me learn, and stretching my brain, it's worth it. That being said, I'd rather have FUN learning something new and am not sure this masochistic approach is the way to teach programming, but I suppose in the wild, programming will often make my brain curly, and will regularly test my self-esteem, so I understand (i think) the author's approach.
Were these reviews helpful? Let us know