ES6 中能否把 class 属性 方法 分文件?

es6 中定义 class,可以这样

class A {
    x = 1;
    y = 2;
    z = 3;
    mx () { // ... }
    my () { // ... }
    mz () { // ... }
}

A 类属性方法越来越多的时候,发现整一个文件的代码量很大。能否将一些属性以及方法划分成单个文件 ( 例如 x 与 mx 分成一个 x.js 文件,y 与 my 分成一个 y.js 文件 ... )

如果使用 extends 时候,会发现问题,属性没法变成共享的,方法也是。

那能否在定义 class A 的时候再把( x.js / y.js / ... )结合到 A 内部去呢?

阅读 4.5k
1 个回答

Mixin模式

简而言之,就是把几个类的prototype属性合并,最后那个大的类再继承这个合并了的类就行了。

阮一峰的ES6教程有个样例的程序,你可以参考参考:Mixin-模式的实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题