Home > Enterprise >  JS - check if a value defined and not something
JS - check if a value defined and not something

Time:08-28

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?

CodePudding user response:

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

const status = obj?.internal?.status ?? 'none';

if (status !== 'none') {
  // use the status
}

CodePudding user response:

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