搜尋

首頁  >  問答  >  主體

javascript - 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 內部去呢?

仅有的幸福仅有的幸福2783 天前880

全部回覆(1)我來回復

  • 阿神

    阿神2017-06-28 09:30:59

    Mixin模式

    簡而言之,就是把幾個類別的prototype屬性合併,最後那個大的類別再繼承這個合併了的類別就行了。

    阮一峰的ES6教學有個範例的程序,你可以參考參考:Mixin-模式的實作

    回覆
    0
  • 取消回覆