Wikipedia
JSFuck is an esoteric programming language with a very limited set of characters: , [, ], +, !. While the name is derived from Brainfuck, the only similarity to Brainfuck is having a minimalistic alphabet. Very peculiarly for an esoteric language, JSFuck is valid JavaScript code, and JSFuck programs can be run in any web browser or engine that interprets JavaScript.
The challenge in JSFuck lies in recreating the full set of JavaScript functions using only these six characters, which is made possible by two properties of JavaScript:
- It is a weakly typed programming language
- It allows the evaluation of any expression as any type.
JSFuck was originally developed as part of an online contest aimed at improving security bypass techniques. It can be used to bypass detection of malicious code submitted on websites, e.g. in cross-site scripting (XSS) attacks. Another potential use of JSFuck lies in code obfuscation. An optimized version of JSFuck has been used to encode jQuery, the most used JavaScript library, in a fully functional equivalent version consisting of only six distinct characters.