В чем смысл escape-последовательностей Юникода в именах идентификаторов в JavaScript? - PullRequest
5 голосов
/ 04 сентября 2010

JavaScript позволяет иметь escape-последовательности Юникода в именах идентификаторов ... например:

var \u0160imeVidas = "blah";

Указанная выше переменная начинается с (хорватской) буквы Š, так что полное имя переменной - «ŠimeVidas». Теперь это аккуратно, но какой в ​​этом смысл? Есть ли сценарий, где эта функция может быть полезна?

Ответы [ 2 ]

3 голосов
/ 15 ноября 2010

Допустим, у вас есть библиотека, хранящаяся в UTF-8, и что автор решил использовать не-ASCII символы в API.Затем, скажем, по какой-то причине вам нужен доступ к этой библиотеке из файла, хранящегося в ASCII.Разрешение escape-последовательностей Unicode в идентификаторах позволяет вам сделать это.Могут быть и другие подобные сценарии, но это один из примеров.

2 голосов
/ 04 сентября 2010

Единственное использование, которое я могу придумать для использования escape-последовательности Юникода при объявлении переменных, - для запутывания.Конечно, вы можете ввести следующее для этой же переменной:

var ŠimeVidas = "blah";

Теперь, если бы вы ссылались на эту переменную со случайным символом в строке, замененной escape-последовательностью Юникода, это было быГораздо сложнее искать и находить эти ссылки.Конечно, как и большинство других методов запутывания, это было бы легко обратимо.

Если вы хотите использовать символ Unicode, который не сопоставлен с комбинацией Alt + Num, это может сэкономить время при поиске кода ключа в charmap (или аналоге вашей ОС)).Не очень хорошо для сохранения байтов.

...