8

constプロジェクトにjs(es6)のリンターを追加しましたが、新しい構成では、モジュールレベルの定数に対してのみ、内部関数の使用を妨げていることがわかりました。そして、関数内で使用する必要がありますlet。しかし、私はそのような規則の根拠を見つけることができません。なんで?

jscsの場合、たとえば

disallowConstOutsideModuleScope:constモジュール スコープでのみ使用する必要があります (関数/ブロック内では使用しないでください) 。

そのルールを構成してオフにできることは理解していますが、なぜ有効になったのでしょうか? そのようなチェックの動機は何ですか?

PSリンクhttps://madhatted.com/2016/1/25/let-it-beをブロック「Constantly const」に持っています

let と const をいつ使用するかについては、別の考え方があります。この戦略は、開発者が可能な限り const を使用することを示唆しています。再割り当てされない変数は、const で宣言する必要があります。

この使用法は悪い習慣だと思います。プログラミングのプロセスに余計な注意をそらし、コードの理解や変更が難しくなります。

しかし、その議論に価値があるとは思えません

4

1 に答える 1

2

これは単なるコーディングガイドラインです。彼らはこの考え方に従います。使用したくない場合は、.jscsrcファイルでオフにしてください。主なポイントは次のとおりです。

  1. const の積極的な使用は演算子の価値を下げる
  2. const を最初に選択するということは、すべての宣言について考えるということを意味します。コードの次の行はこの割り当てを変更しますか? この変数をどのように使用しますか?
  3. let と const の間に既知のパフォーマンスの違いはありません。
于 2016-08-17T00:50:21.363 に答える