Yes, only ()!+
JSFuck is an esoteric programming language with a very limited set of characters: (,), [, ], +, !.
The name is derived from Brainfuck, but the only similarity to Brainfuck is having a minimalistic alphabet.
- It is a weakly typed programming language
- It allows the evaluation of any expression as any type.
Then a potential use lies in code obfuscation to hide malicious code in compromized websites or in XSS attacks.
Here an example of the simple “alert(1)” translated into JSFuck:
More information about conversion process can be read on the GitHub repository:
It does not depend on a browser, so you can even run it on Node.js.
Lastly, Martin Kleppe has also developed a tool to automate the conversion: