
翻訳とU化
セミコロンについて最初に知っておくべきことは、「自動セミコロン挿入(ASI)」などです。 これは、実際には、必要性や不要な点をセミコロンで議論できる機能です。 まだ読んでいない場合は、それについて読んでください。 カイル ( post )と同様に、ASIを信頼するべきではないと考えています 。 多くの理由から、これは良い考えではありません。
複雑なASIロジックの問題は、トランスパイラーまたはミニファイアーの使用を開始するとすぐに消えます。 たとえば、 BabelとUglifyJS2は、生成されたコードにセミコロンを自動的に追加します。
彼らがセミコロンを書くことができないと私に言ったとき、私は同意します-展開中にこれらのセミコロンが戻されると確信している限り。
不良部品のリンティング(翻訳不可のしゃれ)
ASIのロジックには、非常に不快な瞬間がいくつかあります。 ただし、ESLintをno-unexpected-multilineキーとともに使用する限り、安全です。 開発者の1人がルールに違反した場合、ビルドシステムがプロジェクトを組み立てないことを確認するだけで十分です。 また、別のルールsemiにも興味があるかもしれません。
セミコロンを拒否する理由
前述の観点から、現在はどのような場合にセミコロンを使用でき、どのような場合にセミコロンを使用できないかを検討する必要はありません。 これは開発者にとって好みの問題です。
セミコロンを入れるか入れないかは個人的な好みです
セミコロンを使用したくないのはなぜですか? 右の小指が壊れているからではありません。 それは、私が1文字少なく印刷したいからではありません。 問題は、編集者やリンターに、本当に必要のないものを挿入する必要があることを教えてほしくないということです(したがって、セミコロンは必要ないことを伝えました。 、それどころか、セミコロンがプログラムにまだ表示されている場合は警告が表示されます)。
また、コードを書くときは、問題に集中することを好みます。 そして、彼女とは関係のない何かを追加する必要性から私をそらさないように。 セミコロンを無視し始めた(そして最初にコードがどの程度「ひどい」ものであるかに慣れた)後、私は自分のコードをより「きれい」に感じました。
セミコロンを使用する理由は?
カイルは彼女の投稿で、 ASIだけでなく、セミコロンの使用に関する自身の好みについても説明しています。 読むことを強くお勧めします。
私の意見では、カイルが言ったことで重要なことは、彼がセミコロンをより「明確な」読みやすいコードの保証と考えることです。 特に初心者の開発者向け。 おそらくそうなのかもしれませんが、私にとっては、セミコロンを放棄した後でもコードが曖昧になったり読みにくくなったりすることはありませんでした。 そして今、私はそれらについても考えません。
結論
トランスポーター/リンターを使用しない場合は、セミコロンを拒否することは強くお勧めしません(この場合、個人的な好みについては話していません-これはJavaScriptの正しい使用方法です)。 トランスポーター、リンター、またはその両方を使用することを強くお勧めします。 この場合、セミコロンを使用しても使用しなくてもかまいません。これはあなたの好みにすぎません-どちらの場合もコードは影響を受けません。 ツイッターでお会いしましょう!