-1
我想延長JS原生對象到一個新的功能,然後導出功能,我想這樣的事情ES6如何導出原生對象
export Object.prototype.renameProperty = function() {
console.log('do stuff')
}
我得到了意外的標記錯誤。什麼是正確的方式來做到這一點?
我想延長JS原生對象到一個新的功能,然後導出功能,我想這樣的事情ES6如何導出原生對象
export Object.prototype.renameProperty = function() {
console.log('do stuff')
}
我得到了意外的標記錯誤。什麼是正確的方式來做到這一點?
在ES6 +中使用模塊的重點在於您不需要修改不屬於您自己的對象的原型。但是如果你必須這樣寫吧,你需要要麼只是申報文件中的代碼沒有出口:
的prototype.js
Object.prototype.renameProperty = function() {
console.log('do stuff')
}
,並導入它像這樣:
import "./prototype.js";
或者,如果你真的需要既把它添加到原型和導出,然後:
的prototype.js
export const renameProperty = Object.prototype.renameProperty = function() {
console.log('do stuff')
};
,並導入它像這樣:
import {renameProperty} from "./prototype.js";
({}).renameProperty(); // do stuff
renameProperty.bind({})(); // do stuff
這樣做有什麼目的?爲什麼不將它定義爲獨立功能,將其分配給對象屬性,並導出該獨立功能 –
閱讀[export documentation](http://www.ecma-international.org/ecma-262/6.0) /#sec-exports) –
只是不要使用'export',並確保在使用它的代碼之前包含它。你的代碼會正常工作,直到你想自殺。 – naomik