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"

339
21
Lemmy.world starting guide
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearTH
    theory
    Now 100%

    Is this server going to keep its federation blocklist empty? I am likely going to move here from another instance because they have defederated a few servers now

    4
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearTH
    Now
    2 5

    theopold

    theory@ lemmy.world