airbnb入門(五)

Variables

  1. const始終使用const聲明變量,沒有constletvar聲明為全局變量。前者報(bào)錯(cuò),prefer-const。后者報(bào)錯(cuò),no-undef。
  2. 不使用的方式聲明多個(gè)變量,應(yīng)該分別聲明。報(bào)錯(cuò),one-var。
  3. 按照constlet的方式,將變量進(jìn)行排序。
  4. 也需要注意,在合適的地方聲明變量,不一定要提到最前邊。
  5. 不適用連等的方式聲明。
  6. 避免使用自增或者自減,容易出問題。報(bào)錯(cuò),no-plusplus。

Hoisting

聲明變量的使用方式

預(yù)解析過程,將var聲明的變量提至變量所在作用域最前方。但是let,const有了新的概念:TDZ。

  1. 在同一作用域內(nèi)不能聲明兩次同名變量。否則報(bào)錯(cuò)。

  2. let和const聲明的變量不會(huì)提升至作用域最前方。

  3. 函數(shù)表達(dá)式不能先使用再定義。

  4. 當(dāng)函數(shù)表達(dá)式后邊不是匿名函數(shù)即有自己的函數(shù)名,在函數(shù)表達(dá)式外部只能使用變量名,在函數(shù)內(nèi)部可以使用變量名和函數(shù)名。

  5. 函數(shù)定義,則可以先使用后定義。

Comparison Operators and Equality

  1. 優(yōu)先使用===!==。報(bào)錯(cuò)類型,eqeqeq。
  2. 邏輯運(yùn)算符,&&||,在比較非布爾類型時(shí),會(huì)進(jìn)行強(qiáng)制(coercion)類型裝換。規(guī)則如下:
  • Number。0、NaN為false,其他為true。
  • String??兆址疄閒alse,其他為true。
  • Object。全部為true。
  • null、undefined為false。
  1. 縮寫判斷語句時(shí),注意數(shù)字和字符串的判斷語句不能縮寫。
  2. 當(dāng)使用以下詞匯時(shí),需要在case或者default后邊添加上花括號(hào)。報(bào)錯(cuò)類型,no-case-declarations。
  • let
  • const
  • function
  • class
  1. 三目運(yùn)算不應(yīng)該嵌套,最好單行寫。
  2. 避免不必要的三目運(yùn)算符。

Blocks

  1. 塊級(jí)花括號(hào)需要多行。
  2. if判斷語句中的else需要和if花括號(hào)共處一行。報(bào)錯(cuò)類型,brace-style。
// 注意 if 語句的空格
if () { 
} else (
)

Comments

  1. 使用/**...*/進(jìn)行多行注釋。
  2. 使用單行注釋需要另起一行,同時(shí)注釋前空一行。
  3. 無論單雙行注釋在該行開始的時(shí)候都需要空一格,方便使用。報(bào)錯(cuò)類型,spaced-comment。
  4. 當(dāng)在代碼中找到錯(cuò)誤需要其他人員改動(dòng),使用注釋// FIXME: error。
  5. 當(dāng)對(duì)錯(cuò)誤找到解決辦法,使用注釋// TODO: how to fix。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容