SyntaxError: Unexpected token ILLEGAL

Javascriptを書いていて、こんなエラーが出た。(Chromeで)

SyntaxError: Unexpected token ILLEGAL

自分のコードは、コード自体がDjangoのテンプレートで動的に変わる文字列の部分があり、ここでエラーが発生していた。

var aaa = ‘{{ my_test_value }}’;

なぜここで?と思ってしばらく悩んだが、my_test_valueには改行コードが含まれることがあり、この改行を取り除くコードがこんなかんじだった。(Python)

my_test_value = aaa.replace(‘n’, ”)

エラーの原因は、aaaに「nr」が含まれていて、「n」だけ除いた結果「r」だけ残っていたのが原因だった。rは出力を見ただけでは気が付かないが、Javascriptインタープリタにはちゃんと見えているので、謎のエラーとなっていた。

 

昔私が新人の頃、ソースに全角スペースが入って謎のエラーになったのを思い出した。人間には見えないが、マシンには見えるのである。

Leave a Reply

Your email address will not be published. Required fields are marked *