• Phen@lemmy.eco.br
      link
      fedilink
      arrow-up
      4
      ·
      1 year 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.

        • activ8r@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          edit-2
          1 year 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.