• Victor@lemmy.world
    link
    fedilink
    arrow-up
    19
    ·
    9 days ago

    So there’s yet another level of quirkery to this bullshit then, it seems. 😆 Nice digging! 🤝

    I also noticed that if you surround the curlies with parentheses, you get the same again:

    > eval('{} + []')
    0
    > eval('({}) + []')
    '[object Object]'
    
    • PoolloverNathan@programming.dev
      link
      fedilink
      arrow-up
      10
      ·
      9 days ago

      Yep, parentheses force {} to be interpreted as an expression rather than a block — same reason why IIFEs have !function instead of just function.