use*_*919 8 javascript boolean properties
我通常设置这样的对象属性,
// Boolean
this.listening = config.listening || true;
Run Code Online (Sandbox Code Playgroud)
但config.listening无论是真还是假,在这种情况下this.listening总是如此,因为如果config.listening是假,它将等于真.
有没有更好的方法来设置这些布尔属性而不必执行if语句?
在javascript中是否存在if isset函数来检查它是否存在而不是它等于什么?
Ian*_*Ian 13
您可以像这样使用三元(条件)运算符:
this.listening = config.listening === false ? false : true;
Run Code Online (Sandbox Code Playgroud)
如果config.listening是false,this.listening则设置为false.如果它是任何其他值,则设置为true.
如果要检查是否已定义,可以使用:
this.listening = typeof config.listening !== "undefined"
Run Code Online (Sandbox Code Playgroud)
参考文献: