TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Best current book to learn JavaScript?

183 pointsby babyboy808almost 8 years ago

43 comments

payne92almost 8 years ago
And anti-answer: consider learning JavaScript from something other than a book. The publication cycle for conventional box is relatively long, relative to the pace of technology evolution.<p>By the time the author writes it, it&#x27;s published, and you read it, the information can be dated, sometimes extremely so.<p>There are gobs of online resources, and the best resource is rarely mentioned: reading other peoples code.<p>Once you get a basic understanding, you can start right clicking on webpages, &quot;inspect source&quot;, opening the console window, and looking at how pages actually work. The debugger and single stepping chrome are quite good.
评论 #14463455 未加载
评论 #14544236 未加载
评论 #14468126 未加载
评论 #14463525 未加载
评论 #14463464 未加载
评论 #14468067 未加载
peterchonalmost 8 years ago
Eloquent javascript is also fantastic. <a href="http:&#x2F;&#x2F;eloquentjavascript.net&#x2F;" rel="nofollow">http:&#x2F;&#x2F;eloquentjavascript.net&#x2F;</a>
评论 #14461626 未加载
评论 #14463371 未加载
sharmialmost 8 years ago
You don&#x27;t know JS is a good book to start with and explains ES6 too.<p>It is available for free on github so you can evaluate before buying.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;You-Dont-Know-JS" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;You-Dont-Know-JS</a>
评论 #14461611 未加载
评论 #14467124 未加载
评论 #14469713 未加载
fredophilealmost 8 years ago
I found JavaScript: The Good Parts useful. It&#x27;s very short and gets right to the point. The author focuses on the parts of the language people tend to use every day and highlights some gotchas and common mistakes that you might not expect (like == vs ===) if you&#x27;re coming in from other languages.
评论 #14462857 未加载
评论 #14462034 未加载
petercooperalmost 8 years ago
Depends on what your level is going in.<p>For an <i>absolute</i> beginner, <i>JavaScript and jQuery</i> by Jon Duckett is extremely accessible. Sure, it covers jQuery but it&#x27;s so well aimed at total beginners it&#x27;s not a bad path.<p>At the lower intermediate level, Eloquent JavaScript (mentioned elsewhere) is fantastic.<p>At higher levels&#x2F;if you know other languages and are comfortable learning new ones: Effective JavaScript, YDKJS, and Speaking JavaScript all fantastic and complement each other in various ways.
aarpmcgeealmost 8 years ago
<a href="https:&#x2F;&#x2F;leanpub.com&#x2F;javascriptallongesix" rel="nofollow">https:&#x2F;&#x2F;leanpub.com&#x2F;javascriptallongesix</a>
评论 #14462064 未加载
tbirrellalmost 8 years ago
The problem with this question is by the time I finish typing my answer, the JS world will have moved on to the next big thing
评论 #14461625 未加载
评论 #14463053 未加载
评论 #14461623 未加载
irrationalalmost 8 years ago
Secrets of the JavaScript Ninja, Second Edition along with You Don&#x27;t Know JS are always my two recommendations. The two together shore up the weaknesses in the other.
评论 #14463313 未加载
bevacquaalmost 8 years ago
Maybe check out Practical Modern JavaScript, which I wrote, which is free<p><a href="https:&#x2F;&#x2F;github.com&#x2F;bevacqua&#x2F;practical-es6" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bevacqua&#x2F;practical-es6</a>
ThrustVectoringalmost 8 years ago
This is a bit unorthodox, but I personally got a lot out of taking the LISP code in Structure and Interpretation of Computer Programs, and mentally translating the examples and solving the exercises in Javascript. There&#x27;s apparently versions of the text around with the exercises pre-translated, though translating it myself was valuable to me.<p>Obviously, this will more teach you how to write good code that happens to be in Javascript, rather than taking an already-solid programmer and showing them the nitpicky details, idiosyncrasies, and browser APIs of Javascript.
fL1Pm0d3almost 8 years ago
<a href="https:&#x2F;&#x2F;github.com&#x2F;MostlyAdequate&#x2F;mostly-adequate-guide" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;MostlyAdequate&#x2F;mostly-adequate-guide</a>
评论 #14470134 未加载
评论 #14461411 未加载
mixmastamykalmost 8 years ago
I liked Zakas&#x27; books, the older one <a href="http:&#x2F;&#x2F;a.co&#x2F;4e5JLrI" rel="nofollow">http:&#x2F;&#x2F;a.co&#x2F;4e5JLrI</a> for the breadth and history and the concise update: <a href="http:&#x2F;&#x2F;a.co&#x2F;2U97acq" rel="nofollow">http:&#x2F;&#x2F;a.co&#x2F;2U97acq</a>
评论 #14465344 未加载
thinkxlalmost 8 years ago
These:<p>- Secrets of the JavaScript Ninja by John Resig (my favorite)<p>- Eloquent JavaScript by Marijn Haverbeke
luminariousalmost 8 years ago
<a href="http:&#x2F;&#x2F;javascript.info" rel="nofollow">http:&#x2F;&#x2F;javascript.info</a> starts out simple enough for complete beginners but goes deep enough that even intermediate users can find new details.
评论 #14463589 未加载
Kequcalmost 8 years ago
Is it strange that when I consider learning a new language, I don&#x27;t turn to books? My instinct is that I can learn more quickly and interactively online. Particularly JavaScript, as the browser you are using to browse the websites teaching you JavaScript is already a full JavaScript interpreter and development suite.<p>No waiting for your code to be processed server side, or anything like that. I pick up a book later on, commonly, if I know the language and want to know more about techniques for building something specific with it.
评论 #14462718 未加载
abraves10001almost 8 years ago
I think this question needs to be expanded upon before an adequate answer can really be given.<p>Are you looking to learn code via JS?<p>Are you proficient in another language that has similar constructs to JS and just need to understand the nuances?<p>Are you somebody who has understood JQuery on a low level but never understood what the code was actually doing?<p>I am sure there are a few more questions along similar veins and I think each one of these questions could be interpreted from the OP and I think all of these have potentially different answers.
评论 #14462251 未加载
评论 #14464236 未加载
ciw1973almost 8 years ago
&quot;Eloquent Javascript&quot; (<a href="http:&#x2F;&#x2F;eloquentjavascript.net&#x2F;" rel="nofollow">http:&#x2F;&#x2F;eloquentjavascript.net&#x2F;</a>) definitely gets my vote, as it starts with concepts that someone new to programming would need to understand before diving into the specifics of the language. Available to read online for free, although well worth spending money on a physical copy to thumb through, but it may be a little too slow to get going for someone who already has experience with other languages.<p>For developers, I&#x27;d recommend Kyle Simpson&#x27;s &quot;You Don&#x27;t Know JS&quot; books, in particular &quot;This &amp; Object Prototypes&quot;, followed by &quot;Scopes &amp; Closures&quot;. Well written, with plenty of example code, these are deep dives into specific areas which make Javascript different&#x2F;weird. They&#x27;re available to read in his Github repo (<a href="https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;You-Dont-Know-JS" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;You-Dont-Know-JS</a>), but consider buying them, as he deserves to get paid.
koshelewalmost 8 years ago
Having conducted over 100 interviews for JS positions, here is my advice.<p>- You have to start with ECMA5. 95% of new features in later versions can be transpiled back to it, and examining resulting code is usually the easiest way to comprehend them. Oh, how many candidates I&#x27;ve seen that talk about &#x27;modern classes&#x27; with a flare and then can&#x27;t explain prototypical inheritance at all. So, the best start is &quot;JavaScript: The Definitive Guide, 6th Edition&quot;.<p>- Be very careful about what you read online. Blog platforms are full of script kiddies trying to feed you their misconceptions without a second thought. I generally only &#x27;trust&#x27; two sources - Mozilla Developer Network and <a href="http:&#x2F;&#x2F;2ality.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;2ality.com&#x2F;</a> by Axel Rauschmayer (I believe his books are mentioned in other answers too).<p>- Whenever you are faced with a particular library&#x2F;technology - look from books&#x2F;posts from their creators or someone associated with them.
paultopiaalmost 8 years ago
FWIW, I started with Eloquent Javascript and moved on to You Don&#x27;t Know JS. For me (self-taught type but with some experience, mostly use Python and Clojure) that seemed to do the trick, I&#x27;m working on a small Vue.js learning-type project right now and it isn&#x27;t horribly blowing up, I feel lots more comfortable than I used to with JS, etc.
flavio81almost 8 years ago
My advice is, first make sure you are going to learn the latest version of javascript, which is &quot;Ecmascript2016&quot; alias ES7 alias ES2016. ES2015 (alias ES6) is also fine.<p>Previous versions of Javascript make JS a mediocre language, while ES2016 makes it a pretty good and powerful one. So try to look for a tutorial that is very recent and focused on the latest javascript idioms.<p>I think that if you already know how to program in at least one of the following languages: C++&#x2F;C#&#x2F;Java&#x2F;Python, you will learn Javascript in no time, no need for a book, to be honest.<p>Javascript is a very simple language, my recommendation would be to start as follows: 1. First learn how to create a JSON (javascript object notation) object 2. Then understand how to define a function (better if you do it the ES6 way, that is, using the &quot;=&gt;&quot; operator), and how to call it. 3. Learn how to use lists and hashtables(dictionaries). 4. After this, learn how to use JSON objects, that is, how to access each member of a JSON object. This will be trivial after step (3). 5. Then, learn the simple logic constructs: if, for, etc. They are easy, really.<p>Now comes the slightly more difficult part. I&#x27;m assuming you want to try Node.js development.<p>6. Learn what is the Node.js &quot;event loop&quot;. IN other words, the philosophy behind Node and why most operations are &quot;asynchronous&quot; in Node.js. Learn about callbacks. 7. Now learn about &quot;Promises&quot; and learn how to use &quot;async&quot; and &quot;await&quot; to consume Promises easily. In other words, to program using asynchronous functions with no sweat. 8. Learn &quot;express.js&quot; web framework. It is really easy.<p>And don&#x27;t forget to take a look to the ES6 and ES7 features and make sure you take advantage of them:<p>ES6 <a href="http:&#x2F;&#x2F;es6-features.org" rel="nofollow">http:&#x2F;&#x2F;es6-features.org</a><p>ES7 <a href="https:&#x2F;&#x2F;h3manth.com&#x2F;new&#x2F;blog&#x2F;2015&#x2F;es7-features&#x2F;" rel="nofollow">https:&#x2F;&#x2F;h3manth.com&#x2F;new&#x2F;blog&#x2F;2015&#x2F;es7-features&#x2F;</a>
mattferdereralmost 8 years ago
I think it depends on your learning style &amp; what you want to learn. <a href="http:&#x2F;&#x2F;jsbooks.revolunet.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;jsbooks.revolunet.com&#x2F;</a> is a great resource for free books.<p>If you want to learn concepts, You Don&#x27;t Know JS by Kyle Simpson is great.<p>If you want to learn by doing, I would look away from books &amp; more towards video based learning. It seems to have richer content in this style. Pluralsight, Frontend Masters, Egghead &amp; Code School are all great. They also target different niches. If you&#x27;re a complete beginner I suggest Code School. It does the best out of those at telling you where to start &amp; what to learn next.
itayadleralmost 8 years ago
<a href="http:&#x2F;&#x2F;speakingjs.com" rel="nofollow">http:&#x2F;&#x2F;speakingjs.com</a>
lpa22almost 8 years ago
I highly recommend Secrets of the JavaScript Ninja by John Resig. It boosted my career significantly by giving me enough low-level practical understanding to become much more productive writing JS. Highly recommended.
sivanesanmsalmost 8 years ago
JavaScript and JQuery - Murach. It&#x27;s a two paged book. Left side you have text and right side you have code. So it is easy to get what they are explaining. Also they have good exercises to solve and learn.
vmware513almost 8 years ago
This page is a good start if you would like to learn modern JavaScript and a framework at the same time: <a href="http:&#x2F;&#x2F;yoember.com" rel="nofollow">http:&#x2F;&#x2F;yoember.com</a>
bhjalmost 8 years ago
As a webdev who used JS for a while without really knowing what was going on under the hood and just chalking &quot;unexpected&quot; behavior up to That Darn JavaScript(TM), reading You Don&#x27;t Know JS: Scope &amp; Closures was really great:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;You-Dont-Know-JS&#x2F;tree&#x2F;master&#x2F;scope%20%26%20closures" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;You-Dont-Know-JS&#x2F;tree&#x2F;master&#x2F;scope...</a>
rammy1234almost 8 years ago
I used this books. Secrets of javascript Ninja - <a href="https:&#x2F;&#x2F;www.manning.com&#x2F;books&#x2F;secrets-of-the-javascript-ninja" rel="nofollow">https:&#x2F;&#x2F;www.manning.com&#x2F;books&#x2F;secrets-of-the-javascript-ninj...</a><p>javascript : good parts - <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;JavaScript-Good-Parts-Douglas-Crockford&#x2F;dp&#x2F;0596517742" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;JavaScript-Good-Parts-Douglas-Crockfo...</a>
predictandalmost 8 years ago
If you are a beginner and looking for an engaging way to learn how to code using JavaScript, I would suggest Coding for Visual Learners (<a href="http:&#x2F;&#x2F;www.codingforvisuallearners.com" rel="nofollow">http:&#x2F;&#x2F;www.codingforvisuallearners.com</a>). It makes no assumptions on prior programming knowledge and teaches you the basics of coding using Javascript and p5.js in a very accessible manner.<p><i>Disclaimer: I am the author of the book</i>
johnhenryalmost 8 years ago
I&#x27;ve only read parts, but Dr. Axel Rauschmayer has a few good books; Speaking JavaScript, Exploring ES2016, and more available free online here: <a href="http:&#x2F;&#x2F;exploringjs.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;exploringjs.com&#x2F;</a>. He also has an insightful blog here: <a href="http:&#x2F;&#x2F;2ality.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;2ality.com&#x2F;</a>
wh4thisalmost 8 years ago
<a href="https:&#x2F;&#x2F;github.com&#x2F;airbnb&#x2F;javascript" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;airbnb&#x2F;javascript</a>
lolivealmost 8 years ago
Yet another option, if you are experienced with other languages and want to learn JS: Javascript Enlightenment [1].<p>It only focuses on the concepts that make Javascript different from (let&#x27;s say) Java.<p>Note: this is a pre-ES6 book.<p>[1]: <a href="http:&#x2F;&#x2F;www.javascriptenlightenment.com&#x2F;JavaScript_Enlightenment.pdf" rel="nofollow">http:&#x2F;&#x2F;www.javascriptenlightenment.com&#x2F;JavaScript_Enlightenm...</a>
aerovistaealmost 8 years ago
As a supplementary resource rather than a primary learning guide, I found this site[1] to be profoundly helpful. It explains a lot of the intricacies, oddities, pitfalls and points of confusion in the language.<p>[1] <a href="http:&#x2F;&#x2F;bonsaiden.github.io&#x2F;JavaScript-Garden" rel="nofollow">http:&#x2F;&#x2F;bonsaiden.github.io&#x2F;JavaScript-Garden</a>
arthelonalmost 8 years ago
You don&#x27;t know JS goes quite in depth into a variety of areas. Worth reading further down the road. <a href="https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;You-Dont-Know-JS" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;You-Dont-Know-JS</a>
aalhadalmost 8 years ago
Learning Javascript 3rd Edition by Ethan Browne published by O&#x27;Reilly - is one of the few books for learning Javascript that have been published recently - that start you off with ES6. I have found it very useful. Highly recommended.
CodeTheInternetalmost 8 years ago
<a href="https:&#x2F;&#x2F;addyosmani.com&#x2F;resources&#x2F;essentialjsdesignpatterns&#x2F;book&#x2F;" rel="nofollow">https:&#x2F;&#x2F;addyosmani.com&#x2F;resources&#x2F;essentialjsdesignpatterns&#x2F;b...</a>
dijkstra123almost 8 years ago
If you need to read and understand the source code powering popular frameworks then following is the best book.<p>JavaScript Patterns &#x2F; Build Better Applications with Coding and Design Patterns &#x2F; By Stoyan Stefanov
thepropalmost 8 years ago
Forget books, start coding!! To get going, CodeAcademy.com is amazing!!
评论 #14461905 未加载
评论 #14463913 未加载
sbochinsalmost 8 years ago
This one: <a href="http:&#x2F;&#x2F;shop.oreilly.com&#x2F;product&#x2F;0636920028857.do" rel="nofollow">http:&#x2F;&#x2F;shop.oreilly.com&#x2F;product&#x2F;0636920028857.do</a>
wand3ralmost 8 years ago
Do learn JavaScript the hard way on Zed&#x27;s website. Once you know syntax read addy osmanis book on design patterns; Google engineer gives great examples.<p>Also; JavaScript the good parts
ing33kalmost 8 years ago
Exploring JS: JavaScript books for programmers ( free to read online )<p>* Speaking JavaScript<p>* Exploring ES6<p>* Exploring ES2016 and ES2017<p><a href="http:&#x2F;&#x2F;exploringjs.com" rel="nofollow">http:&#x2F;&#x2F;exploringjs.com</a>
marvel_boyalmost 8 years ago
What about <a href="http:&#x2F;&#x2F;exploringjs.com" rel="nofollow">http:&#x2F;&#x2F;exploringjs.com</a> books? Somebody can comment about?
samirillianalmost 8 years ago
Not a book, but I really like the format of nodeschool.io lessons.
z3t4almost 8 years ago
learn about closures and functions.