es6如何导出本机对象

时间:2016-08-03 05:00:10

标签: javascript ecmascript-6

我想用新函数扩展js本机对象然后导出该函数,我尝试了类似这样的东西

export Object.prototype.renameProperty = function () {
    console.log('do stuff') 
}

我收到了意外的令牌错误。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

在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