These are the known mistakes in the third edition of the book. For errata in the first edition, see this page. For the second edition, see this page. To report a problem that is not listed here, send me an email.
Issues whose page number is followed by an ordinal number are only present up to the print denoted by that number. I.e. those followed by “1st” were fixed in the second print.
Page 34 (1st) Updating Bindings Succintly: Where it
counter- it should be
Page 91 (3rd) Composability: Due to an initial mistake in the script data set, the results of the computations on this page differ from the ones with the current, corrected data. The average year for living scripts should be 1165, the average for non-living scripts should be 204.
Page 111 (2nd) Inheritance: In the second
paragraph below the example code, instead of “
method”, the text should say “
Page 134 (2nd) Error Propagation: In the third
paragraph of the section, a function
referred to. The function is actually
promptNumber, and the word “whole” should be
dropped from the sentence (it accepts non-whole numbers, too).
Page 139 Selective Catching: The first
code snippet misspells
Page 168 (1st) Modules as Building Blocks: In “each needs it own private scope“, it should say “its own private scope“.
Page 189/190 (4th) Networks are Hard: The text
under the code that defines
request claims the function
will give up after four attempts and a second. In fact, it gives up
after three attempts, in three-quarter second.
Page 231 (5th) Moving Through the Tree: Below
the code example, the text claims
of loops don't work on DOM child
lists. But in current (even as of the book's release) browsers they
Page 234 (2nd) Creating Nodes: In the code, “edition” is misspelled as “editon”.
Page 255 (7th) Mouse Motion: The second
paragraph on the page claims that you can isolate a button from
buttons bitmask with the remainder operator, but that
doesn't really work (you'd also need a division and a floor, which
gets too obscure to go into in this chapter).
Page 258 (3rd) Load Event: The description of
beforeunload claims that you just need to return a
string from your event handler. For handlers registered
addEventListener you, in fact, need to
preventDefault and set a
property to get the warn-on-leave behavior.
Page 271 (8th) Actors: Near the bottom of the page, the book incorrectly uses the term phase (of a sinus wave) where it should say period.
Page 278 (8th) Motion and Collision: The code
that defines the
touches method unintentionally (though
var instead of
Page 285 (2nd) Pausing the Game: The text
refers to the
arrow binding, where it should
Page 336 (5th) The State: The text mentions the
fillColor where it should
Page 367 A File Server: The part that talks about “the output stream to the request” should say “the stream from the request” instead.
Page 369 (1st) Directory
MKCOL stands for “make collection”, not “make
column” as the book claims.
Page 373 (3rd) HTTP Interface: There is a superfluous closing brace at the end of the example JSON snippet.
Page 414 (3rd) A Modular Robot:
dijkstrajs package name is misspelled