首先我們來解釋一下短路運算符:
短路運算符就是從左到右的運算中前者滿足要求,就不再執行后者了; 可以理解為:
&&為取假運算,從左到右依次判斷,如果遇到一個假值,就返回假值,以后不再執行,否則返回最后一個真值;
|| 為取真運算,從左到右依次判斷,如果遇到一個真值,就返回真值,以后不再執行,否則返回最后一個假值。
下面舉個例子吧:
let str
let num = str || 'foo'
如果str是真值就直接返回了,后面短路就不會被返回了,如果為假值,則會返回后面的foo
let str= param && param.prop
如果param如果為真值則返回param.prop屬性,否則返回param這個假值,這樣在某些地方防止param為undefined的時候還取其屬性造成報錯。
下面是我的公眾號,歡迎大家關注,可以一起學習一起進步: