同僚が私にこの JavaScript 警告 42 の行を見せたとき、私は困惑しました。
alert(2+ 40);
すぐに、マイナス記号のように見えるものが、実際には明らかに異なる意味を持つ難解な Unicode 文字であることがわかります。
このため、式を解析したときにその文字が構文エラーを生成しないのはなぜか疑問に思いました。また、このように動作する文字が他にもあるかどうかも知りたいです。
ベストアンサー1
そのキャラクターは「オガムスペースマーク」はスペース文字です。したがって、コードは と同等ですalert(2+ 40)
。
また、このように振る舞うキャラクターが他にもいるかどうかも知りたいです。
Zsクラスの任意のUnicode文字JavaScriptの空白文字です、しかし、それほど多くはないようです。
しかし、JavaScriptでは識別子にUnicode文字も使用できます、これにより、 のような興味深い変数名を使用できますಠ_ಠ
。