JavaScript の最新プラクティスを紹介する
この記事では、WebStorm が提供するコーディング支援によって、最新の JavaScript の主要なベストプラクティスに沿って、よりクリーンで保守しやすく、パフォーマンスの高いコードを書く方法を学びます。
古いコードベースを扱う際には、古いパターンやプラクティスに遭遇することがあります。 WebStorm は、そのようなパターンをハイライトし、クイックフィックスを提案してサポートします。
let と const を使って変数を宣言する
let と const は、より予測可能で、関数スコープの var を使用して変数を宣言するときに発生する可能性のある予期しないエラーを削減する block-scoping(英語) を提供します。
var 宣言は意図的に使用される場合もありますが、古いコードでは古いアプローチの結果として発生する可能性があります。
WebStorm は var の使用を検出し、それを let または const に置き換えることを提案します。
ハイライトされた
var宣言の上にマウスを移動し、 const に変換 リンクをクリックします。
キャレットを
var宣言に置き、 Alt+Enter を押して、ポップアップリストから let に変換する または const に変換 を選択します。
サンプル


関数の代わりにクラスを使用する: プロトタイプ
多くの古いコードベースでは、クラスのエミュレーションに 関数プロトタイプのアプローチを使用することがありますが、クラスの方が構文がはるかにきれいなので、 クラスを使用することをお勧めします。
WebStorm は、 クラスに変換 コンテキストアクションで呼び出せるリファクタリングを提案します。
変換する関数の名前にキャレットを置き、 Alt+Enter を押します。
リストから クラスに変換 を選択します。
リファクタリングプレビュー で、提案された更新を確認し、準備ができたら リファクタリング をクリックします。
アロー関数式を使用する
アロー関数 はより簡潔な構文を提供し、 this のコンテキストを自動的にバインドするため、クラスのメソッドなど this がわかりにくくなる場面で特に役立ちます。
WebStorm を使うと、専用のコンテキストアクションでアロー関数を導入できます。
キャレットを匿名関数内に置き、 Alt+Enter を押します。
ポップアップリストから、 アロー関数に変換 を選択します。
オプショナルチェイニングを使用する
オプショナルチェイニング演算子(?. )は、プロパティ、配列要素、メソッドにアクセスする前に、それらが存在するかどうかを自動的にチェックします。 チェーンの一部が null または undefined である場合、エラーをスローするのではなく、 undefined を返します。 オプショナルチェイニングがない場合、このチェックには冗長で反復的なコードが必要になります。
WebStorm は、 ?. 演算子を導入するためのコンテキストアクションを提案します。
変換する式にキャレットを置き、 Alt+Enter を押します。
ポップアップリストから、 オプショナルチェイニングを使用する を選択します。

async/await 構文を使用する
async/await 構文は、 .then() と .catch() の連鎖を不要にすることで、非同期操作の処理を簡素化します。 これにより、特に複数の非同期呼び出しを扱う場合、コードの可読性、保守性、理解しやすさが向上します。
WebStorm を使うと、 Async 関数に変換する コンテキストアクション経由でコードに async/await 構文を導入できます。
async/await構文を導入する関数にキャレットを置き、 Alt+Enter を押します。ポップアップリストから、 同期機能への変換 を選択します。

厳密な等価を使用する (===)
厳密な等価性 (==) の代わりに厳密な等価性 (===) を使用すると、厳密な等価性では型の強制変換は実行されず、値と型の両方が直接比較されるため、より予測可能で信頼性の高い動作が得られます。


WebStorm は、緩い等値の使用で起こりうる問題を検出し、信頼性の低いコード箇所をハイライトしてクイックフィックスを提案します。
ハイライトされた緩い等式の上にマウスを移動し、 '===' に置き換える をクリックします。

キャレットを
===方程式に置き、 Alt+Enter を押して、ポップアップリストから '===' に置き換える を選択します。