Deebster@lemmyrs.orgtoProgrammer Humor@programming.dev•Javascript is the most popular scripting language in use todayEnglish
12·
1 year agoThe line breaks haven’t worked, here’s it formatted correctly:
Explanation: it’s mostly due to how js does type conversion.
For the Ls, it’s:
- [] is an empty array
- ![] is treated as false
- combining a boolean with the empty array returns “false” as a string (so true + [] = “true”, false + [] = “false”)
- ! + [] is treated as true
- ! + [] + ! + [] is treated as 2 since true + true = 1 + 1 = 2
- so you have “false”[2], which is l
for the o it’s:
- [] is an empty array
- [] + {} returns “[object Object]” as a string ({} + [] returns 0)
- ![] is false
- !![] is true
- +!![] casts it to an integer
- so that part is “[object Object]”[1], which returns “o”-
It's so rare that we get a new video, but it's always a special day when it happens.