Suggest improvements

Arrow Functions

Arrow functions make it easy to write anonymous functions, and also bind to the current context.

class MyClass {
  constructor() {
    this.name = 'Max';

    setTimeout(() => {
      // This prints "Max" since arrow functions bind to our current "this" context.
      console.log(this.name);
    });
  }
}

This is like writing:

var _this = this;
setTimeout(function() {
  console.log(_this.name);
});

But much cleaner.