I've been reading this book. I'm about 50% of the way through now.<p>I learnt JavaScript a long time ago so I wanted something to get me up to speed with ES6 and above. The book succeeds admirably here. It is a little bit repetitive in places, but for free I'm not going to complain about that.<p>If you are reading this Flavio Copes - thank you :-)
Direct link to the book without having to provide your email address: <a href="https://flaviocopes.com/page/javascript-handbook/" rel="nofollow">https://flaviocopes.com/page/javascript-handbook/</a>
Personally, I'd much rather see a "pay what you want" (even with a minimum of a couple bucks) type of system rather than compulsory email newsletters [0].<p>You can still have the newsletter of course (and even give away copies for signing up). Just please don't have it as the ONLY way to get the full book :)<p>[0]: Of course I'm aware of mailinator, but why waste both our time, in that case?
I find it odd that it starts with ES6(arrow functions), ES2016, etc and then moved to basics like variables and functions.<p>I guess it works for people with enough experience, but still, I find it odd.<p>Anyway it is free so I can't complain too much, subscribed.
This looks pretty legit. Seems like a good "If you know how to code this is where JS is at right now."<p>Source: I call myself a "Front End Engineer".
Thanks for the book, its clear and to the point.<p>A little feedback:<p>1) I find the description of the different standards (ES2015 - ES2018) to be inconsistent. ES2015 provides a summary of new features as a bullet point list, each item being a jump link to the detailed description. ES2016 and ES2017 do have the summary but no more jump links and ES2018 does not have the summary at all. I think it would be better to navigate if each chapter had the linked summary.<p>2) I guess in ES2017 the trailing comma description is missing a trailing comma:<p><pre><code> This feature allows to have trailing commas in function declarations, and in functions calls:
const doSomething = (var1, var2) => {
//...
}
doSomething('test2', 'test2')
</code></pre>
At least I can not see a trailing comma there.<p>3) Unicode property escapes (p. 33ff) examples do have a comment at the end of each line which I guess is supposed to tell you whether the match will be true or false, but all comments are empty (in the pdf version).<p>4) The template literal interpolation example on page 69 is invalid syntax<p><pre><code> const var = 'test'
const string = `something ${var}` //something test
</code></pre>
as var is a reserved keyword and can not be used as a variable name.<p>5) On pages 76-77, for some reason the formatted code looks different to all other code snippets (and it doesn't look good either as it is too huge and kind of blurred)
Thank you, this was actually tremendously useful for me because you used simple language/short sentences and are quite thorough. My only remark is that if your intended audience is more on the beginner side, they will likely lose focus early on during the initial history lesson. However if your intended audience is actually me, I found it fascinating and appreciate you making this great free resource!
Thanks for this - really nice to read, and cleared up a lot of things I have seen and didn't really get.<p>A couple of typos:
Page 103 of PDF under "Event bubbling and event capturing"
Bubbling and capturing are the 2 models that events use to propagate.
Suppose you DOM structure is<p>should be
Suppose your DOM structure is<p>Page 153 of PDF under "Operators > Arithmetic operators"
It shows Division (<a href="https://flaviocopes.com/" rel="nofollow">https://flaviocopes.com/</a>) but should have been the / symbol
Hey. Thanks for the book.<p>Btw, page 25. I assume this is some pdf exporting error:<p><pre><code> 'test'.padStart(8) ' test'</code></pre>
Nice, this was a good refresher on some of the lesser known parts of the newer specs.<p>+1 for explaining the event loop and job queues<p>-1 for no semi-colons though (kidding ;))