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: на виндах кажется все выглядит более понятно. Мораль: тестируйте код на всех платформах