Skip to content


Repository files navigation

Modern JavaScript by Example

Greenkeeper badge

A Practical and Example filled book about good ol' JavaScript

Written by Ben Junya @MrBenJ

JavaScript doesn't just move fast, it smashed the accelerator down so hard it went through the chassis of the car and already colonized Pluto before your instant noodles finished cooking.

This open source free to read and consume book is meant for beginner to intermediate programmers looking to use all the brand new features of JavaScript with real-world pragmatic examples that are easy to use and fun to implement in your own project.

This book is a work in progress and will continue to be updated and worked on regularly.

Check out the /book folder and pick a chapter to start reading up and enjoying the book :).

Contributions welcome. Contributor Code of Conduct, Pull Request Policies, and more coming soon!



You'll need

  • Node v8 or newer
  • npm
  1. Clone the repo
git clone
  1. Install dependencies
cd modern-js-by-example
npm install
  1. Start a development server locally
npm run dev

You should be able to open up localhost:9000 in your browser and start poking around the site. You can view the GraphQL API at localhost:9000/___graphql with GraphiQL for your convenience.

npm Scripts

  • npm run build - Builds the project for deployment
  • npm run lint - Lints all the js files in src
  • npm run test - Runs unit tests with jest and alex
  • npm run dev - Starts a Gatsby development server
  • npm run flow - Runs flow static typechecking


Want to see what's happening with the book right now? See what's in progress and what I haven't started yet to get a good idea of what's on the horizon, or if you'd like to contribute, these are great ways to help out!

In progress:

  • Chapter on Node JS
    • Some basics of common Node modules like child_process, fs, path, and more

Not Started

  • Chapter on Automation
    • We'll talk about automating creating template files with EJS or similar tooling, and some headless chrome testing as well
  • Weird Stuff
    • Some of the oddities that come with Javascript, like automatic semicolon insertion, typeof null, and all the other weird quirks that come with the language.


  • Print version?


This book would not have been possible for the several contributors that have graciously donated their time and energy to making this book better.

  • fangstar - Proofreading and editing examples
  • spamyak - Proofreading and catching incorrect examples
  • Anton Halim - Heavy proofreading, catching incorrect examples, and grammar
  • sabrinakoehler - Additional proofreading for spelling and grammar issues
  • rw251 - Proofreading
  • jessmear - Proofreading and content suggestion
  • pauldariye - Proofreading and example edits
  • marwahaha - Proofreading and fixing misinformation on Set