2014-10-01 169 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; 
}