Search code examples
javascriptif-statementoptional-chaining

JS - check if a value defined and not something


I want to have a simple check if a value exists but is not something, that something in my case is the string none. in my rest call (which I can't control) I have an inner object that has the status

{
   name: "some name",
   internal: { // can be null of an object
      status: "my status" // can be "none" which means I can't find the status
   }
}

I want to check for both, but so far I could only come up with

a = obj?.internal?.status
if (a && a !== "none") {
  // code
}

is there a better way to structure my if statement or my code at all?


Solution

  • You can use the Nullish coalescing operator (??):

    const status = obj?.internal?.status ?? 'none';
    
    if (status !== 'none') {
      // use the status
    }