eslintからJavaScriptの知識がルールを学びます

徐々にいくつかのeslint少しの知識をした惑星の知識では、ここに要約原則、のeslint知識によって社内ルールを理解することを目的とされています。

好む-のconst

意味:常にVARを使用することはありません、レットを使用して変更される場合は、constのことで変更されることはありません変数を定義します。

理由:あなたは、変数が変更されることが予想され、そしてどのが変更されていない、より明確なコードを記述することができます。ヘルプあなたはバグを減らし、ロジックを整理

 

無配列コンストラクタ

意味: Doが常にリテラルを使用して、配列を作成するために、Arrayコンストラクタを使用していません。

理由:パラメータを渡すArrayコンストラクタは、新しい配列として、混乱することができます(3)、それは何を表しているのでしょうか?

1)[不定、不定、不定]。

2)[3]

あなたは、もう一つの理由は、これら2つの結果は、Arrayコンストラクタを書き換えることも、予測できないリスクがあるということですためらうかもしれません。

 

無プロトタイプ組み込みコマンド

意味:禁止オブジェクトのメソッドを直接呼び出すのプロトタイプに、foo.hasOwnPropertyとして(「名前」)Object.prototype.hasOwnProperty.callに切り替える必要があります(FOOを、「名前」)

理由: Object.createメソッド、オブジェクトが曖昧であってもよいプロトタイプ手段を新しく作成されたオブジェクトのプロトタイプを指定することを可能にします。あなたがいないObject.create(ヌル)を持つオブジェクトのプロトタイプを作成した場合は、エラー時にオブジェクトのプロトタイプメソッドを呼び出します

 

FUNCスタイル

意味:関数定義を指定する方法を2つの値があります。expression--表現、declaration--関数の宣言

理由:道の名声の関数で定義された関数は、可変リフトになります、それは理解に混乱をもたらすことが可能であるが、式が定義されていません。均一にスタイルコード、機能的なスタイルの最良の定義を決定します。

 

好む休止-のparams

意味:動的推奨残り構文関数f(A、B、...と関数パラメータ取得引数)を、 代わりの引数

理由:

1.残りのパラメータは、実際の配列を取得しており、引数の配列をベースにしており、時には依然として変換ステップを必要としています。

2.セマンティック明確残りのパラメータ、すなわち、実際の外部に宣言されたパラメータは、参加者の配列に分類されます

 

無無用エスケープ

意味:余分なエスケープを使用していない、公式のリストは、エスケープ文字のいくつかは、状況を使用する必要はありません。「\「」;」\ 「「;」\# 『を、』 \ E ";` \ "`; ` \ "$ {FOO} \" `;` \#{FOO} `; / \ /; / \ @ /; どこで必要なエスケープ:!」\ ""; ' \'「;「\ X12 ";" \ u00a9 ";" \ 371 ";" XS \ u2111「; `\` `;` \ $ {$ {FOO}} `;` $ \ {$ {FOO}} `; / \\ / G ; / \トン/グラム; /\w\$\*\^\./ 。

 

無PARAM-た交代

意味:ド関数のパラメータに再割り当てられていません。たとえば、次の関数f(引数){引数 = 1;} 又は関数f(OBJ){obj.num = 1;}

理由:

1.関数のパラメータに再割り当てコードリスクの裏に引数のオブジェクトを変更します

2.引数は、このようなオブジェクトとして参照型である場合は、オブジェクトの属性変更は、関数に渡された元のオブジェクトに影響を与えます

3.衝撃性能V8エンジン

変更後、必要とあればパラメータが賢明ロジック自体を渡さ4.変更は、データをコピーします。

 

矢印ボディスタイル

意味:ブレースラップ値と矢印機能の内容があるかどうか:必要に応じて-needed--、never--決して使用を使用した場合always--常に、中括弧を使用します

理由:デフォルトでは、コードリターンのこの行を括弧を増加させない場合にのみ1行、結果を返す関数本体:エラー矢印機能をもたらす可能性があり構文で回避の相違するためです。場合は、関数本体の複数のライン、あなたは括弧を使用し、return文を記述する必要がなければなりません。

 

インポート/無可変輸出

意味:コンテンツ輸出と露出モジュールは、公開すべきでないデータを変更することができます。その輸出アウトは以下のように定義CONST必要があります。Const名=「」;輸出デフォルト名。

理由:モジュール暴露データ、機能などに変更すべきではありません。

 

無マルチアサイン

意味:例えば、連続的な割り当てを禁止する:= B = C =せて 1;

理由:

1. a、b及びcは、事故の危険性が生じ、グローバル変数になります

2.読むアップは、デバッグが難しく、明確ではありません

 

ノーの場合、宣言

意味: Doが使用してみましょう/ CONST /機能/クラスを含め、switch文の場合に変数を定義していません

理由:

1. switch文は、ケースには聞かせて全体のスコープで見えるように見える、ブロックレベルのスコープであるが、実際には、初期化のみされた現在の例の実装です。人々は混乱しやすいです。

場合には、同じ名前の複数の変数を作成しないように2

推奨言葉遣い:

switchステートメントの外側で変数を定義する1

2.などの単一のケース用ブレース、新しいスコープを作成します。switch(名){ケース 'A':{XX = 1せ;ブレーク;}}

 

ブロガーは〜知識の惑星への参加を歓迎します

おすすめ

転載: www.cnblogs.com/lvdabao/p/11934846.html