javascript - Why does `var exports = module.exports = {};` works but not `let exports = module.exports = {};`? -
during code optimisation of project, replacing instances of var keyword let because think there no particular use left var. did 'find & replace' in files this.
in custom modules had used statements like:
var exports = module.exports = {}; which worked fine.
now, after replacing let, became:
let exports = module.exports = {}; it not work , gives error
syntaxerror: identifier 'exports' has been declared
though can use var , avoid problem, still want know reason behind this.
edit: have not used let exports = <something>; anywhere in same module file. statement have declared exports variable.
the reason because exports initialized in nodejs module system.
https://nodejs.org/api/modules.html#modules_module_exports
the object exists, module.exports when module loads. since let scope specific preventing limiting scope. const fail.
Comments
Post a Comment