• dev_null@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 day 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
      ·
      17 hours 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
        2
        ·
        16 hours ago

        It’s a shorthand for writing this:

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

        This is equivalent:

        variable = input ?: default