5


1

JavaScriptの識別子名のUnicodeエスケープシーケンスのポイントは何ですか?

JavaScriptでは、識別子名にUnicodeエスケープシーケンスを使用できます…​ 例えば:

var \u0160imeVidas = "blah";

上記の変数は(クロアチア語の)文字Šで始まるため、変数の完全な名前は「ŠimeVidas」です。 さて、これはきちんとしていますが、ポイントは何ですか? この機能が役立つシナリオはありますか?

2 Answer


3


UTF-8で保存されたライブラリがあり、作成者がAPIで非ASCII文字を使用することを選択したとします。 次に、何らかの理由で、ASCIIで保存されたファイルからこのライブラリにアクセスする必要があるとしましょう。 識別子でUnicodeエスケープシーケンスを許可すると、それを行うことができます。 このようなシナリオは他にもありますが、それは一例です。


2


変数を宣言するときにUnicodeエスケープシーケンスを使用するために考えられる唯一の使用は、難読化のためです。 もちろん、同じ変数に対して次を入力できます。

var ŠimeVidas = "blah";

さて、文字列内のランダムな文字をUnicodeエスケープシーケンスに置き換えてこの変数を参照すると、それらの参照を検索して見つけるのがはるかに困難になります。 もちろん、他のほとんどの難読化手法と同様に、簡単に元に戻すことができます。

にマッピングされていないUnicode文字を使用する場合 Alt+Num combination, it could save time on searching for the charmapのキーコード(またはOSに相当するもの)。 ただし、バイトの節約には適していません。