Skip to content

Instantly share code, notes, and snippets.

@rauschma
Last active August 31, 2023 07:02
Show Gist options
  • Save rauschma/e9c00fddc17e73fab6ce6c22b2e78e17 to your computer and use it in GitHub Desktop.
Save rauschma/e9c00fddc17e73fab6ce6c22b2e78e17 to your computer and use it in GitHub Desktop.
ES2021 edition of “JavaScript for impatient programmers”

What is new in the ES2021 edition of “JavaScript for impatient programmers”?

Free to read online: exploringjs.com/impatient-js/

  • The exercises now run as native ESM modules on Node.js. Previously, they were run via the esm package.
  • Material on new ES2021 features:
    • String.prototype.replaceAll()
    • Promise.any()
    • Logical assignment operators
    • Underscores (_) as separators in number literals and bigint literals
  • New chapter: “New JavaScript features” lists what’s new in each release after ES6.
  • Describing some features in more detail:
    • ES2019: New section on optional catch binding
    • ES2019: New section on Symbol.prototype.description
    • ES2018: New section on the template literal revision
    • ES2018: New section on Promise.prototype.finally()
    • ES2017: New section on trailing commas in function parameter lists and calls
  • Rewrite of chapter “Callable values”:
    • Moved content on dynamic code evaluation into its own chapter.
    • Improved coverage of this
    • And more
  • Rewrite of chapter “Single objects”:
    • Improved coverage of this
    • Explaining the function methods .call(), .apply(), .bind()
  • Chapter on symbols:
    • Mostly new section “Symbols are primitives that are also like objects”
    • New section “The descriptions of symbols”
    • Major rewrite of section “Symbols as unique property keys”
  • Chapter on regular expressions:
    • Much improved section “The flags /g and /y, and the property .lastIndex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment