美文网首页
js中实现多继承(合并多个class)

js中实现多继承(合并多个class)

作者: wolfBite | 来源:发表于2020-06-29 20:13 被阅读0次

const mixinClass = (base, ...mixins) => {

    const mixinProps = (target, source) => {

      Object.getOwnPropertyNames(source).forEach(prop => {

        if (/^constructor$/.test(prop)) { return; }

        Object.defineProperty(target, prop, Object.getOwnPropertyDescriptor(source, prop));

      })

    };

    let Ctor;

    if (base && typeof base === 'function') {

      Ctor = class extends base {

        constructor(...props) {

          super(...props);

        }

      };

      mixins.forEach(source => {

        mixinProps(Ctor.prototype, source.prototype);

      });

    } else {

      Ctor = class {};

    }

    return Ctor;

  };

相关文章

  • js中实现多继承(合并多个class)

    constmixinClass=(base,...mixins)=>{ constmixinProps=(targ...

  • class-继承(es6)

    继承-JS 继承-class class-总结 Class 在语法上更加贴合面向对象的写法Class 实现继承更加...

  • 妙用class

    收集自后盾人网站 1.利用class扩展内置类 2.mixin JS不能实现多继承,如果要使用多个类的方法时可以使...

  • 07 Java的继承与多态

    继承 Java继承的实现(只支持单继承,而不是多继承,称为接口的多实现)多个类中存在相同属性和行为时,将这些内容抽...

  • 多继承

    多继承: class 类名(父类1, 父类2,....): 类的内容 多继承的时候,多个父类中的所有方法和字段都...

  • 01.14 - 多继承

    多继承: class 类名(父类1, 父亲2...):能偶继承多个父类中的所有方法和字段,只是对象属性只能继承第一...

  • java09(继承)

    多实现: java只支持单继承,不支持多继承 因为多继承容易带来安全隐患:当多个父类中定义了相同的功能,当...

  • 关于JavaScript继承和原型链

    Before we get started 首先明确,JS的继承是由原型链来实现的。(即使在ES6中class的e...

  • 2019-03-25 继承

    js中通过原型来实现继承 组合继承:原型继承+借用构造函数继承

  • [读] JS中的call()和apply()方法

    JS中的call()和apply()方法 实现继承 多重继承

网友评论

      本文标题:js中实现多继承(合并多个class)

      本文链接:https://www.haomeiwen.com/subject/xycwihtx.html