什么是日期&&新的日期(日期)在做什么?

时间:2014-10-01 20:42:50

标签: javascript bootstrap-datepicker

我在bootstrap-datepicker.js文件中遇到了这个问题。

在作者的_setDate函数中

this.viewDate = date && new Date(date)

他们也做了几次。这是做什么的,为什么他们不能设置

this.viewDate = date

this.viewDate = new Date(date)

https://github.com/eternicode/bootstrap-datepicker

1 个答案:

答案 0 :(得分:2)

如果date值是假的(在这种情况下,nullundefined最有可能; ''(空字符串),0(数字) ,NaNfalse本身也适合),它被分配给this.viewDate - 而new Date部分甚至不会被评估。否则new Date(date)已分配给this.viewDate

这大致相当于......

this.viewDate = date ? new Date(date) : date;

...或者,甚至更详细:

if (date) {
  this.viewDate = new Date(date);
}
else {
  this.viewDate = date;
}