Class的继承
Class的继承
  简介
    Class 可以通过extends关键字实现继
  Object.getPrototypeOf()
    用来从子类上获取父类
    可以使用这个方法判断，一个类是否继承了另一个类
  super 关键字
    super这个关键字，既可以当作函数使用，也可以当作对象使用
      第一种情况，super作为函数调用时，代表父类的构造函数。ES6 要求，子类的构造函数必须执行一次super函数。
      第二种情况，super作为对象时，在普通方法中，指向父类的原型对象；在静态方法中，指向父类。
  类的 prototype 属性和__proto__属性
    大多数浏览器的 ES5 实现之中，每一个对象都有__proto__属性，指向对应的构造函数的prototype属性
    Class 作为构造函数的语法糖，同时有prototype属性和__proto__属性，因此同时存在两条继承链
      （1）子类的__proto__属性，表示构造函数的继承，总是指向父类。
      （2）子类prototype属性的__proto__属性，表示方法的继承，总是指向父类的prototype属性。
  实例的 __proto__ 属性
    子类实例的__proto__属性的__proto__属性，指向父类实例的__proto__属性。也就是说，子类的原型的原型，是父类的原型
  Mixin 模式的实现
    Mixin 指的是多个对象合成一个新的对象，新对象具有各个组成成员的接口
    它的最简单实现
  const a = {
a: 'a'
};
const b = {
b: 'b'
};
const c = {...a, ...b}; // {a: 'a', b: 'b'}