如何在构造函数中将属性初始化为false?

时间:2018-04-08 14:15:29

标签: javascript

假设你有一个简单的课程:

class Example {
  constructor(options) {
  this.active = options.active || true;
  }

}

如何在构造函数中将this.active初始化为false? 我想将新的示例({active:false})传递给默认值为true。

3 个答案:

答案 0 :(得分:3)

由于构造函数的编码方式,在选项中传递false仍会将标记初始化为true

    this.active = options.active || true; // always true

我会做这样简单的事情:

    this.active = ("active" in options) ? options.active : true;

这样,如果传入的选项包含该标志的任何值,那么使用它;否则,如果未指定,请使用true

答案 1 :(得分:0)

这将使您的属性始终设置为true。阅读有关逻辑OR statement的更多信息。

this.active = options.active || true // true no matter what

您可以使用not equal value or not equal type运算符!==

this.active = options.active !== false // true or false depending on options.active value and type

详细了解JavaScript Comparison Operators.

答案 2 :(得分:0)

您可以使用deconsturing的默认值。喜欢这个

constructor({active = false}) {
  this.active = active
}

确保将一些对象传递给constuctor。