Warning: This blog post is outdated. Instead, read chapter “Classes” in “JavaScript for impatient programmers”. Recently, TC39 decided on the final semantics of classes in ECMAScript 6 [1]. This blog post explains how their final incarnation works. The most significant recent changes were related to how subclassing is handled. Overview # class Point { constructor(x, y) { this.x = x; this.y = y; }