Eloquent JavaScript: Errata
These are the known mistakes in the first print of the paper edition of Eloquent JavaScript. If you think you have found another one, please send me an email.
Chapter 1
Page 12: In the example 'You
ain't never seen a donkey fly!'
, the quote
in ain't
should be escaped.
Page 17: "can be evoked" should say "can be invoked".
Page 21: Bottom paragraph, "writen" should be "written".
Page 24: In the paragraph above "Capitalization" header, an "s" is missing in "Then it start executing".
Page 27: In the top paragraph,
NaN
should also be listed as a value that is
falsy.
Chapter 2
Page 35: In the code snippet
that defines a power
function, the first argument
to the function should be base
, not
number
.
Page 39: The part "all the operators that were performed" should be "all the operations...".
Chapter 3
Page 48: Third paragraph, "the value of which is a property" should say "the value of which it is a property".
Chapter 5
Pages 79, 81, 82, and 85: All instances of the word 'header' should say 'heading' instead.
Page 82: The second line of code
snippet at the top of the page should be
paragraphs.length
(with an s), not
paragraph.length
.
Page 83: At the bottom of the
page, the line that calls indexOrEnd
has one too
many closing parentheses at the end.
Page 87: At the very end of the page, there's a double quote missing at the end of the string " src=\"picture.png\" alt=\"The Picture\""
.
Page 88: In the code fragment at the top, a semicolon is missing after the first return, though I claimed I'd write out all semicolons.
Page 89: In the
renderFragment
code snippet, the references to
number
should say fragment.number
instead. Further down, the paragraph that starts "Rending a
whole paragraph..." should say "Rendering a whole
paragraph" instead.
Chapter 6
Page 106: Second paragraph, where it says "above and to the left", it should say "above and to the right".
Page 108: In the code snippet
that introduces bind
, as well as the text below
that, any references to testArray
should actually
read x
.
Page 109: In the definition of
method
, a return
should be written
before the expression in the inner function.
Page 110 and
116: In both definitions of processCreature
,
all references to creature
should be replaced by
creature.object
, and all references to
point
with creature.point
.
Page 117: In the code that
defines creatureMove
, the boolean operator in the
if
should be &&
, not
||
.
Page 120: In the code example,
the inner loop variable should be j
, not
i
.
Page 122: In the code snippet,
the condition surroundings[this.direction] != ""
should have && emptySpace.length > 0
appended to it.
Page 125: In the call to
print
at the bottom of the page, the comma and the
dot before this.details
should be switched (dot in
quotes, comma after them).
Chapter 7
Page 131: First paragraph under "The Shape of a Module", "come up some techniques" should be "come up with some techniques".
Page 136: Third paragraph, first sentence, "return true" should be "returns true".
Chapter 8
Page 140: In the code example at
the bottom of the page, the result of the search
call should be 2, not 3.
Chapter 11
Page 181: In the code, the
semicolon after boulders
should be a colon.