• dev_null@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 month ago

      Because it’s not one. Ternary operator is A ? B : C, Elvis operator is A ?: B. The same two characters are involved, but both the syntax and effect is different.

      • AVincentInSpace
        link
        fedilink
        English
        arrow-up
        2
        ·
        30 days ago

        The second one isn’t valid syntax in any programming language I’m familiar with. What does it do?

        • dev_null@lemmy.ml
          link
          fedilink
          arrow-up
          4
          ·
          30 days ago

          It’s a shorthand for writing this:

          variable = if (input != null) input else default
          

          This is equivalent:

          variable = input ?: default