This book makes JavaScript less challenging to learn for newcomers, by offering a modern view that is as consistent as possible.
Highlights:
- Get started quickly, by initially focusing on modern features.
- Test-driven exercises and quizzes available for most chapters.
- Covers all essential features of JavaScript, up to and including ES2022.
- Optional advanced sections let you dig deeper.
No prior knowledge of JavaScript is required, but you should know how to program.
Contents
I Background
- Before you buy the book
- FAQ: book and supplementary material
- Why JavaScript? (bonus)
- The nature of JavaScript (bonus)
- History and evolution of JavaScript
- New JavaScript features
- FAQ: JavaScript
II First steps
- Using JavaScript: the big picture
- Syntax
- Consoles: interactive JavaScript command lines
- Assertion API
- Getting started with quizzes and exercises
III Variables and values
- Variables and assignment
- Values
- Operators
IV Primitive values
- The non-values undefined and null
- Booleans
- Numbers
- Math
- Bigints - arbitrary-precision integers [ES2020] (advanced)
- Unicode - a brief introduction (advanced)
- Strings
- Using template literals and tagged templates
- Symbols
V Control flow and data flow
- Control flow statements
- Exception handling
- Callable values
- Evaluating code dynamically: eval(), new Function() (advanced)
VI Modularity
- Modules
- Objects
- Classes [ES6]
VII Collections
- Synchronous iteration
- Arrays (Array)
- Typed Arrays: handling binary data (advanced)
- Maps (Map)
- WeakMaps (WeakMap) (advanced)
- Sets (Set)
- WeakSets (WeakSet) (advanced)
- Destructuring
- Synchronous generators (advanced)
VIII Asynchronicity
- Asynchronous programming in JavaScript
- Promises for asynchronous programming [ES6]
- Async functions
- Asynchronous iteration
IX More standard library
- Regular expressions (RegExp)
- Dates (Date)
- Creating and parsing JSON (JSON)
X Miscellaneous topics
- Next steps: overview of web development (bonus)
About the author
Dr. Axel Rauschmayer specializes in JavaScript and web development. He blogs, writes books and teaches classes.
Axel has been writing about JavaScript since 2009