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

228
Views
Why nodejs use magic strings in its core modules willy-nilly?

I'm learning nodejs and having previous experience with other {strongly typed} languages I'm suffering a bit finding the reason why there is so much abuse of magic values (mainly strings) in core modules of nodejs.

Just to give an example, let's take the implementation of the http module which has classes that extends EventEmitter and relies on strings to identify events, such as the http.Server class with its 'connection', 'connect' and 'request' events identifiers.

Is there a reason for that? Isn't there any better way to achieve that (like just using an object for instance)?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Is there a reason for that?

ECMAScript does not have enumerations. To model them, one would have to use one of the available types, namely numbers, strings or objects (or symbols, though they're younger than NodeJS). Now "magic strings" are far better than "magic numbers" or "magic empty objects".

about 4 years ago · Juan Pablo Isaza Report

0

I am not 100 % sure, but the formal definition on the official Node website describes Node as “a JavaScript runtime built on Chrome’s V8 JavaScript engine.” and v8 was primarily built for the client side i.e web. So, if you look at the web events, you will see this pattern being used. Probably that is why i think.

about 4 years ago · Juan Pablo Isaza 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!