ŷ

Jump to ratings and reviews
Rate this book

You Don't Know JS

Rate this book
JavaScript is awesome. It's easy to learn partially, and much harder to learn completely (or even sufficiently). When developers encounter confusion, they usually blame the language instead of their lack of understanding. These books aim to fix that, inspiring a strong appreciation for the language you can now, and should, deeply know.

Unknown Binding

Published January 1, 2015

29 people are currently reading
390 people want to read

About the author

Kyle Simpson

37books357followers
Kyle Simpson is an Open Web Evangelist from Austin, TX, who's passionate about all things JavaScript. He's an author, workshop trainer, tech speaker, and OSS contributor/leader.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
77 (65%)
4 stars
29 (24%)
3 stars
7 (5%)
2 stars
4 (3%)
1 star
1 (<1%)
Displaying 1 - 11 of 11 reviews
195 reviews
February 11, 2023
Buddy read with someone on my team! My takeaway is I have no idea how to think like a JS engineer, I am stuck in my C/Java/Object oriented ways and I will never be hip with the React kids. Some of the chapters were very basic. Some of the chapters were incredibly convoluted, complex, and not useful. It's very modular so you can read what you're interested in and skip the rest.
Profile Image for Shelley Cooper-White.
31 reviews4 followers
July 20, 2020
Yikes. Real "tech boy tries to teach" energy. The content itself is mostly interesting, but it's clearly not by someone who's familiar with coding education; it's presented in such an obstructive way that it shoots itself in the foot.

There's no such thing as semantic naming (the variables used range from the classic foo/bar, a/b/c, x/y/z through to "bam", "zim", and even "AA", "aa" when they're running low on options). Having to parse sentences full of nonsense words obscures the concepts in an infuriating way, even when I already know what they're talking about. I dread to think how you'd fare if you were new to JS or even new to ES6.

A basic example:

var a = [1,2,3];

[...a.values()]; // [1,2,3]
[...a.keys()]; // [0,1,2]
[...a.entries()]; // [ [0,1], [1,2], [2,3] ]


Seriously? Would it have killed you to use an array of strings? I'm able to understand this because I already know what values/keys/entries do. But someone learning about it for the first time? No thanks champ.

This has to be my favourite bit though:


There's another way to think about this syntax though, which may help ease the confusion. Consider:

var aa = 10, bb = 20;

var o = { x: aa, y: bb };
var { x: AA, y: BB } = o;

console.log( AA, BB ); // 10 20


In the { x: aa, y: bb } line, the x and y represent the object properties. In the { x: AA, y: BB } line, the x and the y also represent the object properties.

Recall how earlier I asserted that { x, .. } was leaving off the x: part? In those two lines, if you erase the x: and y: parts in that snippet, you're left only with aa, bb and AA, BB, which in effect -- only conceptually, not actually -- are assignments from aa to AA and from bb to BB.


The books also reads like the author has never worked in an enterprise context. It's full of asides about how people will TELL you not to use this feature, but that's just because they aren't doing it right!!! Strict mode is for suckers who aren't perfect, like the author. But you know who else isn't going to do it right? Teams of human beings who aren't perfect, with deadlines and families and who just want to get things done.

In conclusion: learn some pedagogy and relax on the defensiveness. "JS seems weird but it's actually like that for a reason!!!" (paraphrased). Yo it's okay if someone in the past made some mistakes creating a language. That's why languages are always changing. JS is rad as hell because it does some really cool things but you don't need to fight to the death to defend its quirks.
Profile Image for Kateryna Horulia.
66 reviews9 followers
December 26, 2020
Супер зрозуміло і корисно. Багато цікавих прикладів та інформації.
2 reviews
March 23, 2023
Positives: Really deep dive into inner workings of javascript. Author managed to explain all weird parts in an interesting manner. Book is about 700 pages long so its a long read. I would call this book ultimate guide to javascript. Minding all that - its not for beginners there is a lot of stuff that casual javascript developer wont need to know\understand, but it might help!

Negative: too much jumping around. For example, scopes and closures are on 4 places. Each place digging more and more in. I would love to have it all on one place.
Profile Image for Tony.
48 reviews12 followers
October 21, 2019
Great at getting at the nuances of vanilla JavaScript; definitely feel like I know the language much better now. Examples could be a little less dry and easier to intuitively follow (foo, bar, baz everywhere). The ES6 material toward the end is a bit dated, but a second version is in the making. Best part: it's free on Github!
Profile Image for Ilán Vivanco.
1 review2 followers
September 1, 2021
Excellent JS series! After reading this JS will definitely run through your veins. Also, a great series to have around just for reference.
Profile Image for Yogi Saputro.
142 reviews8 followers
October 17, 2024
The purpose of this book is to tell a joke called JS that happen to rule the world, sit you down, and laugh along with you whispering "you should've learned C or Java".
Profile Image for Vivek Sainanee.
45 reviews
June 13, 2022
An engaging, comprehensive book on the charms, quirks, and oddities of JavaScript
Profile Image for Xenia.
4 reviews
July 25, 2019
I am kind of disappointed with the series. Reading this was really boring, there were few a-ha moments and examples were useful. I prefer more dense books like JS: The Good Parts, maybe because I get used to read a lot of math textbooks :)
Displaying 1 - 11 of 11 reviews

Can't find what you're looking for?

Get help and learn more about the design.