Errata
The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted by | Date submitted |
---|---|---|---|---|
Other Digital Version | N/A N/A |
The supplemental code linked by the text, and the O'Reilly catalog, at http://examples.oreilly.com/9780596517748/ appears to have been replaced by some kind of game. Not only does this game not have anything to do with the book, but it also fails to run. |
Anonymous | Jun 26, 2015 |
Other Digital Version | Location 1001 | It seems that at least in the Kindle edition (Nov 2016), a "new" method is added to to the Function object, but then it is not used when instantiating a new mammal object, instead the standard "new" constructor is used i.e. "new Mammal('Herb the Mammal')" when for educational reasons should have used "Mammal.new('Herb the Mammal')". |
Soferio | Nov 17, 2016 |
Printed | Page qq statments diagram |
var statements is not used anywhere. I guess it should be listed as one option in the statements diagram. |
DavidFarago | Dec 28, 2018 |
Printed | Page 1 5 |
Diagrams starting with "var statements" and continuing on from there, aren't clear as to where whitespace needs to be used. Rule 5 says that "diagrams with one bar at each end allow whitespace to be inserted between any pair of tokens" but whitespace isn't necessary. So this leads to some sequences that aren't legal even by following tracks. |
Anonymous | Feb 10, 2018 |
Other Digital Version | 2.6 Second to last paragraph on the page |
"The && operator produces the value of its first operand if the first operand is falsy. Otherwise, it produces the value of the second operand." |
Bethany | Mar 29, 2024 |
Printed | Page 7 name grammar/rail diagram |
Though the description is correct, the rail diagram for "name" need slight modification. The representation (in the rail diagram) for all name should start with letter is missing. Meaning I can make a name as following as per the current diagram shown, however this is error as per the language grammar in strict (or) non-strict mode. |
Karmegam | Nov 12, 2020 |
Printed | Page 8 integer grammar diagram |
Hello: |
Karmegam | Oct 26, 2020 |
Printed, | Page 9 "escaped character" railroad diagram |
In the Strings section on Chapter 2 (Grammer), There is a railroad diagram marked "escaped character". One of the options is a forward slash ("/") which in fact is NOT escaped, and can be included in strings as-is. |
Udi Finkelstein | Jan 02, 2017 |
Page 9 string literal railroad diagram |
The tracks exiting "escaped character" should go back between the quote literal and the upper track, not after the upper track, otherwise one cannot specify a single escaped character. |
Luis Tavera | Apr 17, 2020 | |
Page 11 railroad diagram for: if statement |
The lower loop in the 'if statement' railroad diagram is unnecessary: an if-statement nested within the else-block would semantically just be part of the else-block. Nested if-statements don't have any special semantics, so including the lower loop in the diagram is unnecessary and confusing. (Why is there no such loop for the then-block?) |
Stephan Hyeonjun Stiller | Apr 13, 2024 | |
Page 12 switch statement diagram |
The diagram is saying the following situation would be impractical |
Igor Andrade | Aug 31, 2014 | |
Printed | Page 14-15 "Expression Statement" and "Expression" railroad diagrams |
The lowest path of the "expression statement" railroad diagram shows that "delete {expression} {refinement}" is a legal expression statement; however, the "expression" railroad diagram shows that "delete {expression} {refinement}" is a legal expression. That suggests that "delete delete {expression} {refinement} {refinement}" would be a logical JavaScript statement. |
Evan Turner | Jun 30, 2015 |
Printed | Page 15 First paragraph |
An "or" should be added to the last clause of the first sentence, so it becomes, "invoke a method, or delete a property from an object." |
Evan Turner | Jun 30, 2015 |
Printed | Page 20 2nd paragraph, last line |
The text "A property value can be any JavaScript value except for undefined." |
Karmegam | Nov 12, 2020 |
Printed | Page 20 code |
In the comfirmed errata at page 21, says: |
John Bao | Feb 26, 2022 |
Other Digital Version | 22,47,100,100 Just search the kindle version for 'beget' - all the instances found are errors |
Although the Object.create/Object.beget confusion is marked in the errata sheet as being fixed in 2008, it still appears in the Kindle edition I bought in 2012. A search for 'beget' reveals 4 instances, all errors. |
Anonymous | Aug 09, 2012 |
Printed | Page 22 "Prototype" section, second paragraph. |
(This is not so much a mistake as a seriously-needed update.) |
Steve Witham | Mar 28, 2014 |
Printed | Page 23 "Prototype" section, last paragraph before "Reflection" section. |
"We will see more about the prototype chain in Chapter 6." |
Steve Witham | Mar 28, 2014 |
28 Paragraph starting at bottom of page ("When a function is invoked...") |
This isn't a question or request for clarification. Instead, it's a comment about what I consider a confusing section. |
Ron Stewart | Mar 04, 2014 | |
28 Paragraph starting at bottom of page ("When a function is invoked...") |
Stupid me. I need to clarify my previous errata submission. |
Ron Stewart | Mar 04, 2014 | |
Page 33 middle of page |
That regular express removes white space from both beginning and end of line. Not only end of line. |
Farokh | Jan 30, 2017 | |
Printed | Page 38,39 3rd paragraph of p. 38, 1st paragraph of p.39 |
3rd paragraph of p. 38: |
Bhakti Devananda | Sep 20, 2015 |
ePub | Page 39 |
Better example in closures section |
Mark A. Baldridge | May 10, 2013 |
ePub | Page 39 line 8. Kindle edition |
This error is in the Kindle edition and remains in the 2012 revision of the online code examples at http://examples.oreilly.com/9780596517748/ |
Anonymous | Jun 01, 2014 |
Mobi | Page 47 code block |
"?var that = Object.beget(this.prototype);" should be "?var that = Object.create(this.prototype);" |
Anonymous | Sep 23, 2013 |
Mobi | Page 48 2nd code example |
I get a 'TypeError: Number.integer is not a function' when running the following code: |
Matt Morrow | Nov 23, 2013 |
Printed | Page 50 bottom code sample |
myMammal object doesn't have a "saying" function so the the says function would not work unless augmented later as is done by the mycat object. |
Don Kleppinger | Mar 22, 2013 |
Printed | Page 51 First paragraph. |
This only makes sense if my suggestion to introduce Object.create() as a builtin on page 22, is taken. |
Steve Witham | Mar 28, 2014 |
Printed | Page 54 1st para of narrative, 2nd code listing |
May 2008 edition |
gwideman | Mar 29, 2012 |
Printed | Page 59 On Page 59 toward the bottom: |
The [] postfix subscript operator converts its expression to a string |
Anonymous | Nov 25, 2014 |
Printed | Page 62 last paragraph, first sentence |
This only makes sense if my suggestion to introduce Object.create() as a builtin on page 22, is taken. |
Steve Witham | Mar 28, 2014 |
Printed | Page 64 Code example |
Why do you iterate over the matrix created within the Array.identity function a second time explicitly setting the elements to 1? |
Stefan Haberl | Oct 10, 2019 |
Printed | Page 66 First paragraph of section "An Example" |
The regular expression "parse_url" raises the JSLint error "insecure" three times. |
Harms M?ller | Feb 25, 2014 |
Printed | Page 66 Parse url pattern |
The group capturing the hostname should include an escaped \., because . alone will match any character |
Stefan Haberl | Oct 10, 2019 |
Printed | Page 69 regular expression parse_number first line of first code example |
The re "parse_number" on p.69 does not accept .78 or -.62 |
Roy Tobin | Apr 27, 2021 |
Printed | Page 72 top of the page |
The make_a_matcher() example does not return 10 for y.lastIndex; instead, it returns 0. Maybe RegExp objects made by regular expression literals do not share a single instance? |
Anonymous | May 06, 2013 |
PDF, ePub | Page 73 the last two paragraphs in "Regexp Factor" section |
The text reads: |
Alfredo Delgado | May 26, 2014 |
74 3rd paragraph |
The RegExp: |
Cathal Murray | Dec 21, 2014 | |
Printed | Page 75 Chapter 7, Regex class example |
I believe this is a May 2008 print. |
Csaba Toth | Apr 28, 2013 |
Page 80 4.12.1 Paragraph 1 |
The word "propogates" should be "propagates". |
myffical | Mar 25, 2013 | |
Printed | Page 83 The whole page |
I purchased a brand new printed copy through Amazon on 7/29/15 and received the book on 8/7/15. I am finally getting around to reading it. I finished page 82 and the next page was 99. I am literally missing pages 83 through 98. The book is brand new and the binding is in perfect condition. The pages were not torn out and non have fallen out due to a weakened binding. They were never inserted by the printer. Amazon.com LLC was the seller. I am putting in a complaint with Amazon. |
Philip Krueger | Aug 27, 2015 |
Printed | Page 86 end of Object section |
Erratum for my erratum about Object.create(). |
Steve Witham | Mar 30, 2014 |
Printed | Page 113 code |
The function Expersson (second form): |
John Bao | Feb 26, 2022 |
Mobi | Page 139 3rd para from bottom |
"produced the HTML. eval ing text" should be "produced the HTML. evaling text" |
Anonymous | Sep 23, 2013 |
Printed | Page 151 Object.create() method |
My copy says [2011-04-08]. |
Steve Witham | Mar 28, 2014 |
Printed | Page 151 entry for "Obejct.create method |
My edition says [2011-04-08]. |
Steve Witham | Mar 30, 2014 |