Automatic semicolon insertion & return statements [duplicate]

The javascript interpreter/compiler is so smart to only insert automatic semicolons if afterwards there is valid Javascript.

Your code works, because && b as it stands is no valid expression – that’s why no semicolon gets inserted after the return a resulting in:

return a && b && c;

However:

return (undefined);//implicitely inserted
{
    ....
}

is perfectly valid and thats why a semicolon gets inserted.

For completeness’ sake the ref to the spec: automatic semicolon insertion. THe examples are worth reading through.

Leave a Comment