导出/导入ES6中内置对象的自定义功能?
问题描述:
我有一个'自定义'目录,我想在其中存储对内置对象原型的任何更改。每个修改过的内置对象都有自己的文件(即custom/String.js
,对String.prototype
进行任何修改)。导出/导入ES6中内置对象的自定义功能?
除了这些文件,我还将有一个名为custom/All.js
的文件,它将用于导出要使用的自定义功能。
All.js
export * from './String'
export {Multiply} from './Array'
main.js
import * from './custom/All'
String.js
// something like this
export String.prototype.doSomething = function() {}
能否像这样做?
答
当然it's still considered a bad idea to extend builtin prototypes,even in ES6,但如果你坚持反正这样做的,而不是一个简单易用的模块的静态辅助功能:
你不应该export
什么。那些是突变,并没有任何价值。您只需要为其副作用包含模块代码。
// main.js
import './custom';
// custom/index.js
import './String';
import './Array';
// custom/String.js
String.prototype.doSomething = function() {};
所以你要导出和修改原型? – Li357
@AndrewLi是的,非常。基本上我想将更改导入到字符串的原型中,而不是函数本身(如果甚至可能的话) – sookie
@Rajesh号。这是更加奇怪的用法。 – Bergi