详情:github.com/Advanced-Fr…
总结:
1.class 声明会提升,但不会初始化赋值。
2.class 声明内部会启用严格模式。
3.class 的所有方法(包括静态方法和实例方法)都是不可枚举的。
4.class 的所有方法(包括静态方法和实例方法)都没有原型对象 prototype,所以也没有[[construct]],不能使用 new 来调用。
5.必须使用 new 调用 class。
6.class 内部无法重写类名。
7.ES5 和 ES6 子类 this 生成顺序不同。ES5 的继承先生成了子类实例,再调用父类的构造函数修饰子类实例,ES6 的继承先生成父类实例,再调用子类的构造函数修饰父类实例。这个差别使得 ES6 可以继承内置对象。