我想用新函数扩展js本机对象然后导出该函数,我尝试了类似这样的东西
export Object.prototype.renameProperty = function () {
console.log('do stuff')
}
我收到了意外的令牌错误。这样做的正确方法是什么?
答案 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