airbnb入门(五)

Variables

  1. const始终使用const声明变量,没有constletvar声明为全局变量。前者报错,prefer-const。后者报错,no-undef
  2. 不使用的方式声明多个变量,应该分别声明。报错,one-var
  3. 按照constlet的方式,将变量进行排序。
  4. 也需要注意,在合适的地方声明变量,不一定要提到最前边。
  5. 不适用连等的方式声明。
  6. 避免使用自增或者自减,容易出问题。报错,no-plusplus

Hoisting

声明变量的使用方式

预解析过程,将var声明的变量提至变量所在作用域最前方。但是let,const有了新的概念:TDZ。

  1. 在同一作用域内不能声明两次同名变量。否则报错。

  2. let和const声明的变量不会提升至作用域最前方。

  3. 函数表达式不能先使用再定义。

  4. 当函数表达式后边不是匿名函数即有自己的函数名,在函数表达式外部只能使用变量名,在函数内部可以使用变量名和函数名。

  5. 函数定义,则可以先使用后定义。

Comparison Operators and Equality

  1. 优先使用===!==。报错类型,eqeqeq
  2. 逻辑运算符,&&||,在比较非布尔类型时,会进行强制(coercion)类型装换。规则如下:
  • Number。0、NaN为false,其他为true。
  • String。空字符串为false,其他为true。
  • Object。全部为true。
  • null、undefined为false。
  1. 缩写判断语句时,注意数字和字符串的判断语句不能缩写。
  2. 当使用以下词汇时,需要在case或者default后边添加上花括号。报错类型,no-case-declarations
  • let
  • const
  • function
  • class
  1. 三目运算不应该嵌套,最好单行写。
  2. 避免不必要的三目运算符。

Blocks

  1. 块级花括号需要多行。
  2. if判断语句中的else需要和if花括号共处一行。报错类型,brace-style
// 注意 if 语句的空格
if () { 
} else (
)

Comments

  1. 使用/**...*/进行多行注释。
  2. 使用单行注释需要另起一行,同时注释前空一行。
  3. 无论单双行注释在该行开始的时候都需要空一格,方便使用。报错类型,spaced-comment
  4. 当在代码中找到错误需要其他人员改动,使用注释// FIXME: error
  5. 当对错误找到解决办法,使用注释// TODO: how to fix

你可能感兴趣的:(airbnb入门(五))