https://es6.ruanyifeng.com/#docs/class
    class使js更像面向对象的写法,类。使用方法与构造函数类似,使用new关键字。默认方法constructor。
    类就像构造函数实例的prototype.constructor,调用类上的方法就是调用原型上的方法。
    类定义的方法是不可枚举的。
    类的实例共享原型对象。
    类也可以使用get set。
    属性名可以通过[]用表达式表示
    类名也可以使用表达式表示,但只在类的内部可用 const myClass = class ME {}
    不同与构造函数,类没有变量提升。类的this指向实例,继承函数的name属性,方法前加*代表是一个generator方法(和yield配合,懒汉式执行
    使用static可以标记静态方法和静态属性(静态方法只能在class上访问,不会被实例继承,可以使用extents使子继承,静态属性是在class上的属性,而不是实例对象、this上的
    实例属性可以在class内部最顶层用 = 定义
    用#标记私有属性和私有方法,只能在class内部使用,外部使用会报错
    new.target在构造函数内可以用来确定是怎么调用的,在class中使用返回当前class,如果是继承 会获取子类,在函数外部使用会报错

    继承