Wrox Home  
Search

Topic: Web

Professional JavaScript for Web Developers, 4th Edition (1119366445) cover image

Professional JavaScript for Web Developers, 4th Edition

Matt Frisbie
ISBN: 978-1-119-36644-7
Paperback
1200 pages
October 2019
View Previous Edition of This Title
If you are an instructor, you may request an evaluation copy for this title.
Paperback Version: US $45.00 Add to Cart

About This Title  |  Download Code  |  Errata

Do you think you've discovered an error in this book? Please check the list of errata below to see if we've already addressed the error. If not, please submit the error via our Errata Form. We will attempt to verify your error; if you're right, we will post a correction below.

ChapterPageDetailsDatePrint Run
Appendix D 1106 Errata in text
Appendix D, page 1106 under the Visual Studio Code heading:

The website address should be https://code.visualstudio.com/
24-Oct-19
5 133 Errata in text
The text and code from "Keep in mind that creating a regular expression using a literal..." through the paragraph "ECMAScript regular-expression literals create new instances of RegExp as if the RegExp constructor were called directly" is obsolete and has been removed from updated ebooks and later printings.
November 16, 2019
3 33 Errata in text
The text demonstrates an example of conditional variable declaration using the wrong equality operator. The example should be as follows:

if (typeof name === 'undefined') {
let name; }
24-Jan-2020
3 43 Errata in text
The text states: In ECMAScript, dividing a number by 0 returns NaN, which allows other processing to continue. This is not correct. Only combinations of 0. +0, and -0 will return NaN:

Only combinations of 0. +0, and -0 will return NaN: console.log(0/0); // NaN
console.log(-0/+0);
// NaN

Nonzero values in the numerator with any signed or unsigned zero in the denominator will return Infinity or -Infinity:
console.log(5/0); // Infinity
console.log(5/-0); // -Infinity
24-Jan-2020
3 55 Errata in text
The text demonstrates using the typeof operator with a global symbol. The console.log output is incorrect. The example should be as follows:

let fooGlobalSymbol = Symbol.for('foo'); console.log(typeof fooGlobalSymbol); // symbol
24-Jan-2020
3 56 Errata in text
The text demonstrates symbol logging inside objects. The console.log output uses some curly braces where parentheses should be. The example should be as follows:

let s1 = Symbol('foo'),
s2 = Symbol('bar'),
s3 = Symbol('baz'),
s4 = Symbol('qux');

let o = {
[s1]: 'foo val'
};
// Also valid: o[s1] = 'foo val';

console.log(o);
// {Symbol(foo): foo val}

Object.defineProperty(o, s2, {value: 'bar val'});

console.log(o);
// {Symbol(foo): foo val, Symbol(bar): bar val}

Object.defineProperties(o, {
[s3]: {value: 'baz val'},
[s4]: {value: 'qux val'}
});

console.log(o);
// {Symbol(foo): foo val, Symbol(bar): bar val,
// Symbol(baz): baz val, Symbol(qux): qux val}
24-Jan-2020
3 93 Errata in text
The text demonstrates a for-of loop with in. The example should be as follows:

for (const el of [2,4,6,8]) {
document.write(el);
}
24-Jan-2020
Printer-Ready Version   Share This
With you wherever you go: pdf + ePub + kindle -- DRM-free