Skip to content

Instantly share code, notes, and snippets.

@ericqweinstein
Last active May 4, 2016 15:16
Show Gist options
  • Save ericqweinstein/b8dea7cbb5b6aa4ecf6b to your computer and use it in GitHub Desktop.
Save ericqweinstein/b8dea7cbb5b6aa4ecf6b to your computer and use it in GitHub Desktop.
Wednesday Workshops: 21st Century JavaScript

Wednesday Workshops: 21st Century JavaScript

About

Each workshop is ~45 minutes over lunch on Wednesdays. There will be a repo with sample code and additional resources so you can continue learning outside the workshop if you want to.

Curriculum

We'll be covering topics in the ES 2015 specification, loosely following this ebook by Alex Rauschmayer. We'll also cover new JavaScript topics and tooling, including Flow, React Native, Electron, and more.

Intro

  • Why ECMAScript 2015 (aka ES6)? (10 min)
  • State of the Web: ES2015 support (10 min)
  • Transpiling to ES5 with Babel (15 min)
  • var, let, and const (10 min)

Strings and Symbols

  • String interpolation (10 min)
  • Multi-line strings (10 min)
  • New string methods (15 min)
  • Symbols (10 min)

Functions, Part One

  • Using arrow functions (10 min)
  • Arrow functions vs. the function keyword (10 min)
  • Multiple return values via arrays and objects (25 min)

Functions, Part Two

  • Goodbye .apply(), hello ... (15 min)
  • From arguments to rest parameters (15 min)
  • Default and named parameters (15 min)

Prototypes and Classes

  • The new class syntax (15 min)
  • Inheritance in ES 2015 (15 min)
  • Subclassable built-ins: Array, Date, Error, and more (15 min)

Iteration: The Next Generation

  • Iterators (10 min)
  • for..of (10 min)
  • Generators (25 min)

Modules

Maps and Sets

  • This is why we study data structures (5 min)
  • Maps (10 min)
  • WeakMaps (10 min)
  • Sets (10 min)
  • WeakSets (10 min)

Type Theory for Poets

  • What is type theory and why do I care? (15 min)
  • Flow: what it is + syntax (15 min)
  • Flow: adding it to your project (15 min)

All JavaScript All the Time

  • Why would I ever want to do this? (5 min)
  • JavaScript mobile applications with React Native (20 min)
  • JavaScript desktop applications with Electron (20 min)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment