Джаваскрипт и пробелы

Oct 01, 2015 17:37

Давно известно, что джаваскрипт допускает использование юникода в сорсах, что позволяет писать пассажи типа

var переменная, блин, ᕙᐛᕗ;

пользоваться одинаковыми на вид буквами с разной кодировкой:

>臭 = 1, 臭 = 2;
>臭+臭
3

и даже писать справа налево:

var ש = 1;

Чего я не знал, это что джаваскрипт считает за буквы даже несколько пробелообразных* символов:

> ᢪ= + 1,ㅤ= + 2
>ᢪ+ㅤ
3

и что один из этих символов тоже пишется справа налево:

>function ᢪ ( ؠ2) { return 1 - ؠ2}
>function ㅤ( ؠ2) { return ؠ2 - 1}
> ᢪ( 2 ) - ㅤ( 1 )
-1

Веселого программирования!

---
* Использовались стандартные шрифты на макинтошевских Хроме и Файрфоксе. Кто скажет, как оно на виндах/линуксе выглядит, у меня под рукою сейчас нет?

Update: на виндах кажется все выглядит более понятно. Мораль: тестируйте код на всех платформах
Previous post Next post
Up