JavaScript:JSLintのオプションとして「識別子の先頭の_を許可しない」

StackOverflow https://stackoverflow.com/questions/403454

  •  03-07-2019
  •  | 
  •  

質問

独自の JavaScriptフレームワークを書き始めたばかりで(学習のためだけに)、一部のプライベートメンバーの前に _ を付けました。 >

var _isFireBugEnabled = function () {
    return (window.console && window.console.firebug);
};

Crockfordの JSLint (常に)に対してコードを実行したとき、推奨オプション以降、識別子として_を使用しないことについて説明を受けました。

私の質問は、なぜJSLintは_を識別子として使用しないことに関して警告するのですか?

ここで見逃している副作用や影響はありますか?

PS。今スキャンできる限り、これは book に記載されていません。

役に立ちましたか?

解決

理由は、ダグラス・クロックフォードがJavascript *の約78%を嫌っているからです。多くの人が彼を少し厳格だと思っており、実際、多くのライブラリーは本番コードで主要なアンダースコアを使用しています。私はそれについてあまり間違っていないと思います。副作用はありません。

さらに、アンダースコアではなく「$」が「システム」用に取っておかれる記号でした。 ECMA仕様によるコード。

  

ECMA 262のセクション7.6から:

     

この標準は、1つの出発を指定します   Unicodeで与えられた文法から   標準:ドル記号($)と   アンダースコア(_)はどこでも使用できます   識別子で。ドル記号は   機械的にのみ使用するためのもの   生成されたコード。

*注:私はファセットになっています。彼は本当に約半分しか嫌いでなく、通常は正当な理由があります。私はここでクロックフォードに反対しますが、彼は通常非常に正しいです。

他のヒント

実際にこれについてCrockfordにメールしました。これは彼の応答でした:

  

私は_は   システムコードの実装ではなく   アプリケーションで使用されます。

私は彼にいくらか同意しません。私は、_を使用して、自分のクラスで本当にプライベートなメンバーにプレフィックスを付ける傾向があります。 GoogleのCajaには_の使用に関するいくつかのルールがありますが、説明内容に問題を引き起こすことはありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top