我碰到this answer在海報建議,var something = something ||是否有任何缺陷? {}
if(typeof MyNamespace === 'undefined'){
var MyNamespace = {};
}
速記是
var MyNamespace = MyNamespace || {};
將老牌程序員推薦後者以簡化代碼,或者它過於複雜的事情,像在複雜的複合語句中濫用++
或--
?
編輯我問其原因爲B/C前陣子有人通過指出很多誰認爲他們是專業程序員的人賺了不少初學者的錯誤啓發了我。當時的情況是
if (isReady){
//Do Something
}
而且他在說什麼是條件,不應只是空話,isReady
不「的意思是」什麼,相反,我們應該用
if (isReady === true){
//Do Something
}
我強烈反對'if(isReady === true)'比'if(isReady)'更可取。後者更短,更具可讀性,其含義非常清楚。如果'isReady'不是布爾型並且作者不知道在這種情況下發生的類型強制,它可能只是一個問題。 –
@TimDown我不應該使用'isReady',問題是檢查屬性/參數是否已被定義。其論點是,它可能已被定義爲「假」,這將失敗的條件,並在2個月的道路導致調試噩夢 – puk