技術メモのかけら

内容はもとより調べたことすら忘れてしまうので個人的なメモです。とにかく短く、結論だけ書いていきます。

セミコロンの自動挿入

javascriptには自動でセミコロンを補う余計なお世話な機能が存在する。

var a=1
var b=2
alert(a)
alert(b)

こんな感じにセミコロンなしで書いても、改行箇所にセミコロンを補ってくれるので問題なく動作する。 但し、下記のような副作用も存在する。

return
{
    key: value
};

とやると、returnの直後にセミコロンが勝手に挿入された動きになりundefinedが戻り値として返される。

これを回避するにはreturn{を同じ行に書くしかない。

return {
    key: value
};

return以外にもthrow,break,continueは注意が必要。 あと、後置の++,--の前で改行も駄目らしい。さすがにそんな変なコードは書かないが。