• 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.