Hackernoon logoSemico What? by@scionofbytes

Semico What?

Shaun Hacker Noon profile picture


Backend Developer

Recently, at my workplace, a colleague felt a rustle up his jimmies due to our lack of semicolon usage in our NodeJs repos. The number of projects without semicolons were in the tens and there really wasn’t a good way to introduce semicolons in them even had the team agreed to do so. But that got me thinking.

Do we really need semicolons?

Why have them or not have them? What are the arguments for and against the issue? What do people argue with when they want to defend their position? So I started doing some light research.

And yes, this was light research. I don’t care enough about the issues to have spent more than an hour on it. Do your own research if you care so much.

Stuff I Read

I read some stuff while researching this but these are the ones that I think you should start with. You should do your own research as well: don’t take my word for it. Branch out from these links and find your own perspective on the matter. If you write a more comprehensive post on the issue, hit me up coz I’d like to read that.

This is What People Seem to be Saying (heavily paraphrased)


  • Not using it introduces weird bugs.
  • My linter says so.
  • Douglas Crockford says so.
  • It’s what I’ve always done.
  • It’s the standard!


  • It leads to less code.
  • It reminds me of Ruby,Python,Brainfuck.
  • Isaac Schlueter says so.
  • It’s what I’ve always done.

My Unsolicited Thoughts on the Matter

  • Using or not using semicolons in a language shouldn’t be because you miss using them/not using them in a different language.
  • With the way things are today, our interpreters and engines being smarter than ever, a lot of things come down to a matter of preference, semicolon being one of them.

That said certain things make sense about having semi-colons:

  • They explicitly terminate a statement. Anything that’s explicit requires less of your mind-power to grok. You don’t have to check the next line to see if a function call was terminated or chained.
  • -crickets chirping-

Final Thoughts

I like semicolons for their explicitness. But at the end of the day, either style works. I use semi-colons in my personal code and don’t in my professional. And I don’t find it that hard to switch between the styles (especially since I offload any checking to my linters). So, use what you want, and if you can’t because of whatever reasons, don’t make a big deal out of it. It matters very little.


Originally published at scionofbytes.github.io on December 14, 2016.


Join Hacker Noon

Create your free account to unlock your custom reading experience.