Do we need semicolon at the end?

Javascript does something called "semicolon insertion" which means you can actually write code that omits the semicolon in certain places, and they'll basically be added for you when the code is parsed.

The rules around when this happens a little complex. For simplicity's sake, many developers simply pretend semicolon insertion doesn't exist.


The concept is known as JavaScript Semicolon Insertion or "Automatic Semicolon Insertion". This blog post: JavaScript Semicolon Insertion: Everything you need to know (archived from the original) outlines the concept well in an understandable manner using examples under the headings:

  • Where Semicolons are Allowed
  • Where Semicolons May be Omitted
  • The rules

It even digs into the official ECMAScript specification about the topic.


You can write javascript without semicolon, you only need to insert them if you start a line with a parantesis ( or a bracket [.

The sugarjs times() function is a good example:

<script>
    var somthing = 1 + 3
    ;(5).times(function(n){
        console.log(n + " line") //prints "X line" 5 times
    })
</script>

To say that writing code with semicolons makes it more readable is absurd. It makes your code more CLUTTERED. Look at the code on this page without the semicolons and tell me it's less readable. It's more readable, less cluttered, cleaner and more elegant. Semicolons are ugly and unnecessary. See this article: https://mislav.net/2010/05/semicolons/

Tags:

Javascript