There's no doubt that the JavaScript ecosystem changes fast. Not only are new tools and frameworks introduced and developed at a rapid rate, the language itself has undergone big changes with the introduction of ES2015 (aka ES6) and further revisions. Understandably, many articles have been written complaining about how difficult it is to learn modern JavaScript development these days. We're aiming to minimize that confusion with this set of books on modern JavaScript.
This collection contains:
Practical ES6 is a collection of articles introducing many of the powerful new JavaScript language features that were introduced in ECMAScript 2015, as well as features introduced in ECMAScript 2016 and 2017. It also takes a look at the features planned for ECMAScript 2018 in this rapidly evolving language.
JavaScript: Best Practice presents articles discussing modern JavaScript best practice, enabling you to write more powerful code that is clean, performant, maintainable, and reusable.
6 JavaScript Projects presents six complete JavaScript projects; each taking advantage of modern JavaScript and its ecosystem. You'll learn to build several different apps, and along the way you'll pick up a ton of useful advice, tips, and techniques.
Modern JavaScript Tools & Skills contains a collection of articles outlining essential tools and skills that every modern JavaScript developer should know.
This book is for all front-end developers who wish to improve their JavaScript skills. You'll need to be familiar with HTML and CSS and have a reasonable level of understanding of JavaScript in order to follow the discussion.
Contributors: Aurelio De Rosa, Craig Buckler, Nilson Jacques, Byron Houwens, Jeff Mott, Graham Cox, Ludovico Fischer, James Wright, James Kolce, Moritz Kroger, Ivan Curic, Samier Saeed, M. David Green, Michaela Lehr, Michael Wanyoike, Darren Jones, Mark Brown
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
【One-Line Pitch】
A four-book anthology that helps working front-end developers cut through JavaScript's churn by teaching ES2015+ language features, everyday best practices, essential tooling, and six hands-on projects. Best for developers who already know HTML, CSS, and basic JavaScript but feel behind the modern ecosystem.
【Book Arc】
- **Opening (~0%–10%)**: Sets expectations for the collection, explains who it's for, and establishes the four-part structure: Practical ES6, JavaScript: Best Practice, 6 JavaScript Projects, and Modern JavaScript Tools & Skills.
- **Early (~10%–35%)**: Practical ES6 begins with core language upgrades — `let`/`const` block scoping, the new Map/Set/WeakMap/WeakSet collections, and new Array methods like `Array.from()`, `find()`, `findIndex()`, `values()`, and `fill()`.
- **Middle (~35%–55%)**: Continues through Practical ES6 with new String methods (`startsWith()`, `includes()`, and related additions), rounding out the ES2015–2018 feature tour with polyfill and browser-support notes.
- **Late (~55%–80%)**: Transitions into JavaScript: Best Practice and Modern JavaScript Tools & Skills, shifting from language features to writing clean, performant, maintainable code and learning the tooling every modern JS developer needs.
- **Ending (~80%–100%)**: 6 JavaScript Projects applies the preceding material by building six complete apps, reinforcing modern JavaScript and its ecosystem through practice.
【Key Takeaways】
- **`let` and `const` fix JavaScript's block-scoping gap** (Early): they behave like variables in C-family languages, avoid hoisting surprises, and reduce accidental errors — though `const` binds a reference, not deep immutability, so `Object.freeze()` is still needed for frozen values.
- **ES6 collections solve real limitations of using objects as hashes** (Early): Map, Set, WeakMap, and WeakSet allow non-string keys, preserve insertion order, and offer purpose-built methods like `has()`, `delete()`, and `size`.
- **Weak collections matter for memory** (Early): WeakMap and WeakSet let objects be garbage-collected when no longer referenced, which is valuable for private data and DOM-node tracking.
- **New Array methods replace common polyfill patterns** (Middle): `Array.from()` converts array-like or iterable objects, while `find()`, `findIndex()`, `fill()`, and `values()` make array manipulation more expressive.
- **New String methods standardize everyday checks** (Middle): `startsWith()` and `includes()` remove the need for hand-rolled `indexOf`/`substring` helpers and come with defined position arguments.
- **Browser support and polyfills are part of the lesson** (Middle): the excerpts repeatedly flag Internet Explorer gaps and point to polyfills like es6-shim, Babel transpilation, and MDN-provided shims.
- **Best practices and tooling are treated as first-class skills** (Late): the collection pairs language knowledge with guidance on writing clean, reusable code and using the modern JavaScript toolchain.
- **Projects turn syntax into fluency** (Ending): six complete apps are the collection's practical payoff, letting readers apply ES6+ features and ecosystem tools in realistic builds.
【Reading Tips】
- Read Practical ES6 first and treat it as the spine; the later best-practice, tooling, and project sections assume you understand the new syntax.
- Skim the browser-support and polyfill notes on a first pass, then return to them when you actually need to support older environments.
- Deep-read the Map/Set/WeakMap/WeakSet chapter — the weak-collection memory model is the most conceptually demanding part of the early material.
- Use the six projects as checkpoints: if a project feels opaque, revisit the corresponding ES6 feature chapter before continuing.
- Keep the book as a reference rather than a linear novel; the article-based structure makes it easy to jump to the feature or tool you need.
【Coverage Limits】
The excerpts cover the collection's introduction and the early-to-middle portions of Practical ES6 in detail, but provide only summary-level descriptions of JavaScript: Best Practice, Modern JavaScript Tools & Skills, and 6 JavaScript Projects. Specific chapter titles, project names, and advanced tooling content from those later books are not covered here.
prints 3.141 try { console.log(con2); } catch(ex) { console.log('Cannot access con2 outside its block'); } } foo(); A live demo of the previous code is avail...
s = new WeakMap(); ... let n = this.container; let c = this._containerClone; // find the currentNode's clone while (n !== null) { if (n === this.currentNode)...
ctical ES6 Chapter 4: New String Methods — String.prototype.* by Aurelio de Rosa In my previous chapter on ES6 array methods , I introduced the new methods a...
and/or moved under the right object (for example, isNaN() ). As always, we’ll also put the new knowledge acquired into action with some examples. So, without...
d with ES6 as a new syntax for writing JavaScript functions. They save developers time and simplify function scope. The good news is that many major modern b...
t to use new with an arrow function, it will throw an error. Arrow functions, like built-in functions (aka methods), don’t have a prototype property or other...
ke = Symbol.for('user'); debbie === mike // <-- true Symbol.keyFor(debbie); // <-- "user" Use Cases There are a couple of use cases where using symbols provi...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
The Modern JavaScript Collection (Sitepoint)(Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥1.00
Total Donations
1
Donation Count
Recent Donations
高宏飞
¥1.00
06-15 15:40
The Modern JavaScript Collection (Sitepoint)(Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment