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

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

但是config.listening为true或false,在这种情况下this.listening始终为true,因为如果config.listening为false,则等于true。

有没有一种更好的方法来设置这些 bool(boolean) 属性而不必执行if语句?

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

最佳答案

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

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

如果config.listeningfalse,则this.listening设置为false。如果是其他任何值,则将其设置为true

如果要检查是否已定义,可以使用:
this.listening = typeof config.listening !== "undefined"

引用:
  • https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator
  • 07-27 13:35