Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

GeekEvening: JS in 2016... and beyond


  • This is not going to be a JS class
  • Let's take a look at some JS code
  • and briefly discuss the interesting pieces... --> together! <--

Prepare to use the repo

Clone the repository locally and install the npm dependencies used in some of the examples (xo, babel and flow):

git clone
cd geek-evening-javascript2016
npm install

JavaScript: a Love / Hate relationship

we love JS:

  • there is a JS VM everywhere
    • web browsers
    • command line (nodejs)
    • embedded in other applications and IoT devices (games/game engines/etc.)

we also hate JS

  • initial design errors (that cannot be removed, e.g. typeof null == "object")
  • different support level of new features in different engines (e.g. ES6 and ES7 features) and their actual usage by the users
  • errors in our code can be often caught only at runtime

What the heck is ES6/ES7?

EcmaScript is the name of the standard submitted to the ECMA (an international industry association dedicated to the standardization of information and communication systems) Recently updated to its version 6, the version 7 is next standard version (where new features are being proposed, discussed and detailed)

some bits from ES6: var vs. let vs. const


JavaScript Code Linting: ESLint, XO and Standard

ES6 template strings


ES6 Object and Array destructuring


Babel: Transpiling ES6/ES7 to ES5

let's take a look at examples/03-object-destructuring.js

  • run on node6 and node5
  • run using babel-node
  • briefly look into the package.json and the .babelrc
  • run babel on the ES6 source and look at the generated ES5

ES6 Arrow Functions


ES6: from callbacks to Promises


ES6 generators and ES7 async/await


Bonus: ES6 modules... hopefully

Bonus: testing JavaScript code

Bonus: type checking JavaScript code with flow

Further Readings

JS Linting:

Transpiling ES6/ES7 to ES5:

JS modules bundling:


a small collection of javascript code snippets and a readme file part of the GeekEvening "JavaScript in 2016... and beyond"



No releases published
You can’t perform that action at this time.