JS - check if a value defined and not something

Viewed 60

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?

2 Answers

You could do something like this:

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

Or you could use the nullish coalescing operator, as jsejcksn says, to make the condition true in case status is an empty string ("").

Related