36


9

セミコロンを使用する理由

主観的な視覚と、同じ行に複数のステートメントがある場合を除いて、JavaScriptのステートメントの最後にセミコロンを使用する理由はありますか?

セミコロンの使用は非常にオプションであり、少数の特定のケースでのみ必要であることを示唆する多くの証拠があるようです。

5 Answer


35


JavaScriptはセミコロンを配置する場所を推測すると、厄介なことをするからです。 馬鹿げた箱にあなたに代わって推測させるよりも、明示的にして通訳者にあなたの意図を正確に知らせる方が良いです。

参考文献:

…​and a cast of thousands.


17


セミコロンを使用したい場合、非常に少数の理由、または実際にはエッジケースがあるように見えます。

http://aresemicolonsnecessaryinjavascript.com/ ←これは現在ダウンしています、使用


13


あなたが尋ねた場合、あなたはPythonのバックグラウンドから来ているので:違いは:


11


なぜなら

  • そうしないときに発生する微妙なバグのデバッグは時間の無駄です あなたは何かクールなことをするのに費やすことができます

  • 後でコードを保守する人が後で何をするかを明確にします 意図する

  • すべてのコード管理者が自動挿入のルールを理解しているわけではありません 彼らと一緒にコードを維持するのに十分です

  • それらを除外するには、JavaScriptコードを処理する*すべて*ツールに依存します ツールチェーンがルールを正確に取得している(たとえば、一部のminifiers / packers / compressorsが正しくない、https://brendaneich.com/2012/04/the-infernal-semicolon/ [Crockfordの `jsmin`を含む]一部の場所でASIに依存するコード)


10


http://javascript.crockford.com/code.html [ダグラス・クロックフォードが示唆するとおり]-

_ を置く; (セミコロン)すべての単純なステートメントの最後。 関数リテラルまたはオブジェクトリテラルを割り当てる割り当てステートメントは、引き続き割り当てステートメントであり、セミコロンで終了する必要があることに注意してください。 _