What will happen if a semicolon is misplaced in JavaScript?

If a semicolon is misplaced in JavaScript, it can lead to unexpected behavior due to Automatic Semicolon Insertion (ASI). JavaScript automatically inserts semicolons at the end of statements, which can sometimes cause logical errors when semicolons are placed incorrectly.

Common Semicolon Misplacement Issues

The most common problem occurs when a semicolon is accidentally placed after control flow statements like if, for, or while.

Example: Semicolon After if Statement

<!DOCTYPE html>
<html>
   <body>
      <script>
         var val1 = 10;

         // Incorrect: semicolon after if condition
         if (val1 == 15); {
            document.write("This will always execute: " + val1);
         }

         var val2 = 10;

         // Correct: no semicolon after if condition
         if (val2 == 15) {
            document.write("This won't execute: " + val2);
         }
      </script>
   </body>
</html>
This will always execute: 10

Why This Happens

When you place a semicolon after if (val1 == 15);, JavaScript treats it as an empty statement. The code block {...} that follows becomes a separate block that always executes, regardless of the condition.

Example: Loop with Misplaced Semicolon

<!DOCTYPE html>
<html>
   <body>
      <script>
         // Incorrect: semicolon after for loop
         for (var i = 0; i < 3; i++); {
            document.write("This executes only once: " + i + "<br>");
         }

         document.write("<hr>");

         // Correct: no semicolon after for loop
         for (var j = 0; j < 3; j++) {
            document.write("This executes three times: " + j + "<br>");
         }
      </script>
   </body>
</html>
This executes only once: 3
___________
This executes three times: 0
This executes three times: 1
This executes three times: 2

Best Practices

To avoid semicolon misplacement issues:

  • Never place semicolons after control flow statements (if, for, while)
  • Use consistent code formatting and indentation
  • Consider using a JavaScript linter to catch these errors
  • Be careful with automatic semicolon insertion rules

Conclusion

Misplaced semicolons in JavaScript can cause control flow statements to behave unexpectedly. Always ensure semicolons are not placed after if, for, or while statements to prevent logical errors in your code.

Updated on: 2026-03-15T23:18:59+05:30

253 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements