Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
Why does `var exports = module.exports = {};` works but not `let exports = module.exports = {};`?

During code optimisation of my project, I was replacing all instances of var keyword with let because I think there is no particular use left for var. I did a 'Find & Replace' in all files to do this.

In some custom modules I had used statements like:

var exports = module.exports = {};

which worked fine.

Now, after replacing it with let, it became:

let exports = module.exports = {};

It does not work now and gives an error

SyntaxError: Identifier 'exports' has already been declared

Though I can use var and avoid this problem, I still want to know what is the reason behind this.

EDIT: I have not used let exports = <something>; anywhere in same module file. So this is the only statement where I have declared exports variable.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

The reason is because exports is already initialized in Nodejs module system.

https://nodejs.org/api/modules.html#modules_module_exports

The object exists, module.exports when the module loads. Since let is scope specific it is preventing you from limiting the scope. const would also fail.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!