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?
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:
You need to check to make sure it is not undefined, not that it is a "falsey" value.
this.listening = config.listening!==undefined ? config.listening : true;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With