Advertisement
728x90
The self string can be formed with the combination of []()!+ characters. You need to remember the below conventions to achieve this pattern.
1. Since Arrays are truthful values, negating the arrays will produce false: ![] === false
2. As per JavaScript coercion rules, the addition of arrays together will toString them: [] + [] === ""
3. Prepend an array with + operator will convert an array to false, the negation will make it true and finally converting the result will produce value '1': +(!(+[])) === 1
By applying the above rules, we can derive below conditions
javascript
1(![] + [] === "false" + !+[]) === 1;Now the character pattern would be created as below,
javascript
1s e l f
2 ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^
3
4 (![] + [])[3] + (![] + [])[4] + (![] + [])[2] + (![] + [])[0]
5 ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^
6 (![] + [])[+!+[]+!+[]+!+[]] +
7 (![] + [])[+!+[]+!+[]+!+[]+!+[]] +
8 (![] + [])[+!+[]+!+[]] +
9 (![] + [])[+[]]
10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11 (![]+[])[+!+[]+!+[]+!+[]]+(![]+[])[+!+[]+!+[]+!+[]+!+[]]+(![]+[])[+!+[]+!+[]]+(![]+[])[+[]]Advertisement
Responsive Ad
🎯 Practice NowRelated Challenge
JavaScript Coding Exercise 19
Test your knowledge with this interactive coding challenge.
Start CodingAdvertisement
728x90
362of476