evalと構文エラー
AJAXでは、以下のようにサーバーから返されたJSONをevalで元に戻すみたいな事を良くやると思う。
var result = eval("(" + responseText + ")");
サーバー側で何らかのエラーが発生して、responseTextにエラーメッセージが書かれてたりすると以下のようなエラーが発生する。
エラー: 構文エラーです。
最初は「構文的には何もおかしくないんだけどなぁ…」と結構悩んだけど、そこに書かれているJavaScriptの構文ではなくて、evalしている文字列がJavaScriptの構文じゃないって事だって分かった時は少し感動。