文章詳情頁
javascript - ES6 中能否把 class 屬性 方法 分文件?
瀏覽:271日期:2023-04-28 11:38:19
問題描述
es6 中定義 class,可以這樣
class A { x = 1; y = 2; z = 3; mx () { // ... } my () { // ... } mz () { // ... }}
A 類屬性方法越來越多的時(shí)候,發(fā)現(xiàn)整一個(gè)文件的代碼量很大。能否將一些屬性以及方法劃分成單個(gè)文件 ( 例如 x 與 mx 分成一個(gè) x.js 文件,y 與 my 分成一個(gè) y.js 文件 ... )
如果使用 extends 時(shí)候,會(huì)發(fā)現(xiàn)問題,屬性沒法變成共享的,方法也是。
那能否在定義 class A 的時(shí)候再把( x.js / y.js / ... )結(jié)合到 A 內(nèi)部去呢?
問題解答
回答1:Mixin模式
簡而言之,就是把幾個(gè)類的prototype屬性合并,最后那個(gè)大的類再繼承這個(gè)合并了的類就行了。
阮一峰的ES6教程有個(gè)樣例的程序,你可以參考參考:Mixin-模式的實(shí)現(xiàn)
標(biāo)簽:
JavaScript
相關(guān)文章:
1. python小白 自學(xué)看書遇到看不懂的地方2. javascript - avalon.js ms-on 事件綁定無效 ?3. javascript - vue中使用prop傳遞數(shù)據(jù)問題4. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件5. php對(duì)mysql提取數(shù)據(jù)那種速度更快6. DADB.class.php文件的代碼怎么寫7. shell - mysql更新錯(cuò)誤8. javascript - immutable配合react提升性能?9. mysql - 在log日志中已知用戶的某一步操作,如何獲取其上一步操作?10. 網(wǎng)頁爬蟲 - 如何使用使用java抓取信息并制作一個(gè)排名系統(tǒng)?
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備