我通常像这样设置对象属性,
// Boolean
this.listening = config.listening || true;
但是config.listening
要么是真要么是假,在这种情况下this.listening
永远是真的,因为如果config.listening
为假,它将等于真。
有没有更好的方法来设置这些布尔属性而无需执行 if 语句?
javascript中是否有一个if isset函数来检查它是否存在而不是它等于什么?
我通常像这样设置对象属性,
// Boolean
this.listening = config.listening || true;
但是config.listening
要么是真要么是假,在这种情况下this.listening
永远是真的,因为如果config.listening
为假,它将等于真。
有没有更好的方法来设置这些布尔属性而无需执行 if 语句?
javascript中是否有一个if isset函数来检查它是否存在而不是它等于什么?
您可以像这样使用三元(条件)运算符:
this.listening = config.listening === false ? false : true;
如果config.listening
是false
,this.listening
则设置为false
。如果它是任何其他值,则设置为true
.
如果要检查它是否已定义,可以使用:
this.listening = typeof config.listening !== "undefined"
参考:
您需要检查以确保它不是未定义的,而不是它是“假”值。
this.listening = config.listening!==undefined ? config.listening : true;