Decent primer on ES6 class syntax.
1. Should use `TypeError` for the error message for an abstract class.
2. Missing class field declarations[0] (stage-3, but eminent).
class Foo {
bar = 'instance';
baz = () => console.log(`I'm context bound to ${this.bar} yo!`);
}
var f = new Foo();
f.baz();
Aside: Been working with InDesign's ExtendScript the past few weeks, it's been extremely painful. Won't even shim to ES5 completely/properly, cheating just to get most of ES5, and ES6 modules with Webpack.
[0] https://github.com/tc39/proposal-class-fields