• @Phen@lemmy.eco.br
    link
    fedilink
    42 years ago

    Except you can add the key with an undefined value and it may have different behaviors than if the key was really not there.

    • JackbyDev
      link
      fedilink
      English
      12 years ago

      Please add a trigger warning to this in the future, this is too scary

      • @activ8r@sh.itjust.works
        link
        fedilink
        1
        edit-2
        2 years ago

        In JS a Boolean has 4 states.
        true
        false
        undefined (where the key is set to undefined)
        undefined (where the key doesn’t exist on the object)

        if (obj.value === true) {  
            console.log(1);
        } else if (obj.value === false) {
            console.log(2);
        } else if ("value" in obj) { // key "value" is in the obj, but it is set to undefined 
            console.log(3);
        } else { // key "value" is not in object
            console.log(4);
        }
        

        You’re welcome.