我有很多东西想要设置到node.js 中的全局变量中。我尝试做一些......
global.awesomeFunc = (num1, num2) => {
if (num1 == 9 && num2 == 10) return 21;
return num1 + num2;
}
global.otherCoolFunc = () => {return 27 / 0;}
但是,我意识到仅仅通过不断地为每件事声明 global
就占用了很多空间。所以我查找了连接,认为我可以将所有内容设置在一个对象中,然后将其与全局变量连接起来,例如:
let utils = {
awesomeFunc: (num1, num2) => {/*You get my point...*/},
otherCoolFunc: () => {return 27 / 0;}
}
global = Object.assign(utils, global);
但是之后我就不能使用 awesomeFunc
和 otherCoolFunc
而不需要在它之前声明 global
吗?通过使用 global.awesomeFunc
我可以在没有 global
的情况下运行该函数,但是使用 concat 我必须使用 global.awesomeFunc
... 无论如何在使用 Object.assign
时,我可以重新获得在没有 global
的情况下使用 awsomeFunc
的能力吗?
最佳答案
Object.assign(target, ...sources)
Parameters
target The target object.
sources The source object(s).
Return value
The target object.
在做global = Object.assign(utils, global);
时你将会有utils
具有 global
的属性在 global
对象,
反转 source
和 target
:
global = Object.assign(global, utils);
所以你保留旧的全局属性 utils
关于javascript - 使用 Object.assign 将全局对象与另一个对象组合,无法访问连接的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54603004/