• kameecoding@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      1 year ago

      sure mate, just tell me the result of the following without trying it out.

      0 && 1 && false

      • EuphoricPenguin@normalcity.life
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        1 year ago

        If I remember correctly, 0 and 1 are considered falsy and truthy respectively, so it should be falsy and truthy and false which I believe would return false.

        Tried it out to double-check, and the type of the first in the sequence is what ultimately is returned. It would still function the same way if you used it in a conditional, due to truthy/falsy values.

        • kameecoding@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 year ago

          yes, that is a solid logic, one that I also applied and expected to be the result.

          that is until a Vue component started complaining that I am passing in a number for a prop that expects a boolean.

          turns out the result of that code is actually: 0, because javascript

          of course if you flip it and try

          false && 0 && 1

          then you get false, because that’s what you really want in a language, where && behaves differently depending on what is on what side.