JavaScript では、識別子名に Unicode エスケープ シーケンスを含めることができます。たとえば、次のようになります。
var \u0160imeVidas = "blah";
上記の変数は (クロアチア語の) 文字 Š で始まるため、変数の完全な名前は "ŠimeVidas" です。さて、これはきれいですが、ポイントは何ですか?この機能が役立つシナリオはありますか?
JavaScript では、識別子名に Unicode エスケープ シーケンスを含めることができます。たとえば、次のようになります。
var \u0160imeVidas = "blah";
上記の変数は (クロアチア語の) 文字 Š で始まるため、変数の完全な名前は "ŠimeVidas" です。さて、これはきれいですが、ポイントは何ですか?この機能が役立つシナリオはありますか?
UTF-8 で保存されたライブラリがあり、作成者が API で非 ASCII 文字を使用することを選択したとします。次に、何らかの理由で、ASCII で保存されたファイルからこのライブラリにアクセスする必要があるとします。識別子で Unicode エスケープ シーケンスを許可すると、それが可能になります。このようなシナリオは他にもあるかもしれませんが、これは 1 つの例です。
変数を宣言するときにUnicodeエスケープシーケンスを使用するために私が考えることができる唯一の用途は、難読化のためです。もちろん、同じ変数に対して次のように入力できます。
var ŠimeVidas = "blah";
さて、文字列内のランダムな文字をユニコードエスケープシーケンスに置き換えてこの変数を参照する場合、それらの参照を検索して見つけることははるかに困難になります。もちろん、他のほとんどの難読化手法と同様に、簡単に元に戻すことができます。
+ Numの組み合わせにマップされていないUnicode文字を使用したい場合はAlt、charmap(またはOSの同等のもの)でキーコードを検索する時間を節約できます。ただし、バイトの節約には適していません。