業界標準ではなく、あなたの会社が採用した新しい標準を意味しない限り、いわゆる「JavaScript標準スタイル」を指しているのは「新しい標準」ではありません。それはただ一つの男の誤った個人的な標準です。
どちらかといえば、ES6はセミコロンを省略しないより理由から導入されています。二行目は、配列の非構造である
a = b
[x, y] = [1, 2]
を。
これは、あなたが望むものは確かではありません
a = b[x, y] = [1, 2]
として解析されます。 「標準」は、私が今までに見た中で最も醜いものの1つであることを示唆しています。
a = b
;[x, y] = [1, 2]
セミコロンを入れる必要がある場合は、セミコロンを所属する行の上に置いてみましょう。
上記のパラメータとして関数を通過しようと
a = b(function(foo() { }())
として解析されるであろう有名
a = b
(function foo() { }())
含むASIが失敗したすべてのよく知られた場合、他にあります機能b
。
必要がないため、jshintで必要なものはありません。 「不必要なセミコロン」は、リンターによって取り出される必要があるエラーではありません。
壊れた「標準」をサポートするためにカスタムリンターを使用するのは恐ろしい考えです。あなたはjshintとeslintのような賢明なリンターで起こっているすべての革新を見逃すでしょう。あなたのカスタムリンターが1つの特定のエディターでしか動作しない場合は、これ以上です。あなたのチームの誰かが崇高なテキストを使いたい場合はどうなりますか?
セミコロンを使わないようにすることを強くお勧めします。 github JS reposの調査では、このアプローチを使用した割合は1桁になっています。あなたがそれをしている間、タブからスペースに移動することもできます。同じ調査では、スペースは圧倒的に一般的な実践であることが示されています。
もちろん、上記のいずれも、そのような
が不要あり、リンターは、一般的にピックアップします。
a = b;;
function foo() { };
として真に不要セミコロン、を意味しません
「不必要にセミコロンを使用しない新基準は、」あなたは、この上で手の込んだことはできますか?あなたはこれをどこで聞いたのですか? – LINKIWI
@LINKIWI https://github.com/feross/standard/blob/master/RULES.md#automatic-semicolon-insertion-asi – Citizen