user2251919 user2251919 - 2 months ago 6
Javascript Question

How can I easily set a variable to false with a default of true?

I usually set object properties like so,

// Boolean
this.listening = config.listening || true;


But
config.listening
is either true or false, and in this case
this.listening
will always be true because if
config.listening
is false it will equal true.

Is there a better way to set these boolean properties without having to do an if statement?

Is there a if isset function in javascript to check it exists rather than what it equals to?

Ian Ian
Answer

You could use the ternary (conditional) operator like this:

this.listening = config.listening === false ? false : true;

If config.listening is false, this.listening is set to false. If it's any other value, it's set to true.

If you want to check if it's defined, you could use:

this.listening = typeof config.listening !== "undefined"

References: