2014-10-01 259 views
1

我在bootstrap-datepicker.js文件中遇到了这个问题。什么是日期&&新日期(日期)在做什么?

_setDate功能笔者确实

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

他们这样做,也是一对夫妇的其他时间。这是什么做什么,为什么他们不能只是设置

this.viewDate = date 

this.viewDate = new Date(date) 

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

+2

@karthikr:不,这不是[如何在逻辑运算符JS工作( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators)。 – 2014-10-01 20:45:56

+0

也许这是一个更好的重复:http://stackoverflow.com/a/12162443/218196。或者这些中的任何一个:http://stackoverflow.com/search?q=%5Bjavascript%5D+%22%26%26%22 – 2014-10-01 20:49:26

回答

2

如果date值falsy(在这种情况下,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; 
} 
相关问题