• @spooky2092@lemmy.blahaj.zone
    link
    fedilink
    English
    5
    edit-2
    4 months ago

    Because nothing isn’t something, and something is true. It’s base Boolean logic where everything is either true or false. Null/nothing is false.

    It’s a weird way to think about conditionals, but it makes sense when you use them in real examples. In my case, I use them like this when I need to make sure that a variable has a value. So I can do something like

    If(variable){do things with the variable}else{do stuff when the variable doesn’t exist}

    • Ziglin (it/they)
      link
      fedilink
      English
      14 months ago

      I understand that, it makes sense. But why does it not throw an error? The parameter is missing after all.

        • Ziglin (it/they)
          link
          fedilink
          English
          14 months ago

          That makes a lot more sense, thanks I did see in the syntax highlighting that it was a keyword but forgot that none of them took parameters.

      • @spooky2092@lemmy.blahaj.zone
        link
        fedilink
        English
        04 months ago

        No it’s not, “” (a null/empty string) is the parameter. Not every function needs a parameter to be valid, and negation is one of them. Negating nothing is something, so “not()” = “not(null)” = “not(false)” = “true”