es6 Class语法

  1. Class定义的属性和方法都定义在prototype上,除非显式(this)的定义在其本身
  2. Class定义的属性和方法都是不可枚举,可以通过Object.getOwnPropetyNames获得,而Object.keys不可
  3. Class不存在变量提升,与子类继承有关
  4. static定义的静态方法中的this指向类
  5. 父类的static方法不能被实例继承,但可以被子类继承
  6. class中使用#表示私有属性和私有方法
  7. 私有属性只要在定义该属性的class内部(包括子类),即使是static函数也可以通过类的实例读取
  8. class通过static静态块对static属性赋值和将私有属性共享给class外部的方法
  9. 利用new.target实现抽象类的效果(在constructor中判断new.target===类本身)

你可能感兴趣的:(#,JavaScript,javascript,class,类,es6)