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?
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 ("").
You can use the Nullish coalescing operator (??):
const status = obj?.internal?.status ?? 'none';
if (status !== 'none') {
// use the status
}