• Victoria@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 days ago

        Indeed, the unary plus operator tries to convert whatever is after it to a number if it isn’t already. Since ‘a’ is not a valid number, it returns NaN (not a number)

    • propter_hog [any, any]@hexbear.net
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      3
      ·
      edit-2
      3 days ago

      ‘a’ + +

      This part is the same as writing 'a'++ and that returns “NaN” (short for “not a number”) since you can’t increment a character, but this return type is a string, so the interpreter just concatenates it with the other letters: baNaNa. Then that string is converted to lower case to give the final result, “banana”.