使用標準ES5我有這樣的方法,讓我來添加方法到我的圖書館的原型鏈(它允許核心庫的擴展,還附加到庫中的所有組件):擴展ES6類編程
library.extend = function(extendId, extendObj) {
//if it's an extension of the core library object...
if(extendId === 'library') {
library.prototype[extendObj.name] = extendObj.func;
} else {
library.component[extendId].prototype[extendObj.name] = extendObj;
}
};
用法是:
/* create some new class */
var somecomponent = function() {}
somecomponent.protoype.somemethod = function() {}
/* extend the base libraries prototype chain with the new class*/
library.extend('library', somecomponent)
在ES6類我們也有原型,但它們是由類語法屏蔽,你應該添加使用extends
方式方法的類。
因此,我不確定如何使用類似於上面的方法以編程方式將方法添加到es6類。
沒有顯示你如何使用這段代碼,很難理解你在問什麼。但是...通常ES2015類可以被認爲是「正常」(ES5)功能。 – Amit
你應該能夠擴展原型。類更不僅僅是語法糖。 – webduvet
@Amit我已經添加了一個用法示例,雖然我認爲代碼真的是自己說話......它只是擴展了一個原型鏈。 –