Isso vem de comentários sobre uma pergunta no StackOverflow sobre variáveis JavaScript: Por que ◎ ܫ ◎ e ☺ nomes de variáveis JavaScript não são válidos?
JavaScript aceita caracteres de largura zero como nomes de variáveis válidos, por exemplo, todas as três variáveis têm nomes diferentes, mas são visualmente idênticas:
var ab, / * ab * / ab, / * a‍ b * / ab; / * a‌ b * /
Aqui está um JSFiddle exemplo das três variáveis acima em uso.
Quais são os prós e contras de fazer isso como uma técnica de ofuscação para JavaScript (e outras linguagens de suporte)?