我有以下的JavaScript代碼行:在沒有if的情況下,變量之間是什麼意思&&?
q && (c = q === "0" ? "" : q.trim());
這是什麼意思?我知道c
等於空字符串或q.trim()結果,但是什麼意思是q &&()
?
我有以下的JavaScript代碼行:在沒有if的情況下,變量之間是什麼意思&&?
q && (c = q === "0" ? "" : q.trim());
這是什麼意思?我知道c
等於空字符串或q.trim()結果,但是什麼意思是q &&()
?
JavaScript優化布爾表達式。當q
爲false
時,表達式的右邊對結果無關緊要,所以它不會被執行。所以這是一個簡短的形式:
if(q) {
c = q === "0" ? "" : q.trim()
}
您可以使用這種子句來檢查是否定義了q。
它是一個防止未定義/空/虛假變量的警惕。
如果q
沒有定義,false
或設置爲null
,代碼短路和你沒有得到錯誤抱怨null.trim()
另一種方式來寫,這將是:
if(q) {
c = q === "0" ? "" : q.trim();
}
downvote?展示你自己! – Kyle
我想你的意思是「if(q)」... – tucuxi
@tucuxi:當然:-)謝謝,修正。 –