javascript - 使用 Object.assign 将全局对象与另一个对象组合,无法访问连接的对象?

标签 javascript node.js global concatenation

我有很多东西想要设置到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);

但是之后我就不能使用 awesomeFuncotherCoolFunc 而不需要在它之前声明 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对象,

反转 sourcetarget :

global = Object.assign(global, utils);所以你保留旧的全局属性 utils

关于javascript - 使用 Object.assign 将全局对象与另一个对象组合,无法访问连接的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54603004/

相关文章:

javascript - 如何使容器居中并使网页适合移动设备?

javascript - d3.js,如何创建带有自定义标签和自定义刻度的轴?

javascript - nodejs 上 dgram 套接字的超时实现

node.js - 为什么 mongoosastic 填充/ Elasticsearch 没有填充我的引用之一?我得到一个空对象

python - 全局分布拟合共享一些参数而不指定 python 中的 bin 大小

javascript - 在 gallery.php 中单击时突出显示缩略图

javascript - Cypress .io : Is is possible to set global variables in Cypress and if yes; how?

javascript - 在 Javascript/NodeJS 中连接未知数量的数组

python - 在python中找到最优解

ios - 无法访问不同类的变量