知らなかった! JavaScript は, 安全にセミコロンの存在が推測できる場合を除いて, 文の最後にセミコロンを要求します. 上記の例では関数宣言やオブジェクトや配列リテラルが文の中にあります. 閉じ括弧は文の終わりを表現するものではありません. 次のトークンが()演算子などの場合, JavaScript はそれを前の文の続きとみなしてしまいます. 「Google JavaScript Style Guide 和訳」より RubyもJavaScriptも、行末のセミコロンが省略できる。なんとなく同じようなものだろうと深く考えたことがなかったが、機能が全然違っていた。Rubyは、文(式)の終わりと解釈できればそうするが、JavaScriptは次の行と継続していると解釈できればそうする。デフォルトが真逆だったのだ。別の言い方をすると、Rubyは行末のセミコロンは常に省略できるが、JavaS