如何轻松地将变量设置为false,而默认值为true ?

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

本文关键字:默认值 true false 变量 设置 何轻松      更新时间:2023-09-26

我通常这样设置对象属性,

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

但是config.listening要么为真,要么为假,在这种情况下,this.listening总是为真,因为如果config.listening为假,它将等于真。

有没有更好的方法来设置这些布尔属性,而不必做一个if语句?

是否有一个if isset函数在javascript检查它的存在,而不是它等于什么?

您可以像这样使用三元(条件)运算符:

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

若"config.listening"为"false",则"this.listening"为"false"。如果是其他值,则设置为true

如果你想检查它是否被定义,你可以使用:

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

引用:

  • https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator

您需要检查以确保它不是未定义的,而不是一个"假"值。

this.listening = config.listening!==undefined ? config.listening : true;