我在浏览 node.js
时,在模块部分遇到了类似 varexports = module.exports = {};
的内容。
这与 var a=b.c={}
非常相似,我如何可视化它?
这里发生了什么?
据我所知,a
和b
都被分配为对象,它们都描述相同的事物,或者它们都引用相同的事物?
示例
exports.sayHelloInEnglish = function() {
return "HELLO";
};
exports.sayHelloInSpanish = function() {
return "Hola";
};
与
相同module.exports = {
sayHelloInEnglish: function() {
return "HELLO";
},
sayHelloInSpanish: function() {
return "Hola";
}
};
有人可以用更简单的术语向我解释一下吗?
最佳答案
var exports = module.exports = {};
, how do i visualize it?
首先确保理解它是如何解析的,语法由哪些组成部分组成。它基本上是两个嵌套赋值1:
var exports = (module.exports = {});
你可以将其翻译成等价的
var _temp = {};
module.exports = _temp;
var exports = _temp;
所以是的,它们都将包含相同的对象。
1:从语法上讲,它是变量声明初始化程序中的赋值表达式,但为了便于理解,我们忽略了 var
关于javascript - 在javascript中解释var a=b.c={}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45027570/