Wikipedia より: コンピューター プログラミングにおける「ガード」は、問題のブランチでプログラムの実行を続行する場合に true と評価される必要があるブール式です。どのプログラミング言語が使用されているかに関係なく、ガード コードまたはガード句は、実行中のエラーを回避するために使用される整合性の前提条件のチェックです。
言い換えると、ガード式は、エラーや予期せぬ動作を防ぐために、最小限の計算で最も単純な条件をチェックする式 (パターンとも呼ばれます) です。これは、ほぼすべてのプログラミング言語で一般的なパターンです。
例を見てみましょう:
const capitalize = str => { // Guard expression if (typeof str !== 'string') return ''; return str.charAt(0).toUpperCase() + s.slice(1); }
これはガード式の古典的な例です。関数の先頭で、渡された値が文字列であるかどうかがチェックされます。失敗した場合は、関数によるそれ以上の計算が行われないようにします。このアプローチでは、メイン コードはトップ レベルにあり、if ステートメント条件の内部にはありません。ネストを回避し、コードの可読性を向上させるのに役立ちます。
これは別の例です:
const checkAge = age => { if (typeof age === 'number') { if (age < 21) return 'Not eligible'; if (age >= 21 && < 60) return 'Eligible'; } return null; }
年齢をチェックするシンプルな機能です。問題ないようですが、ここでいくつかの改善を加えることができます。
const checkAge = age => { if (typeof age !== 'number') return null; if (age < 21) return 'Not eligible'; if (age >= 21 && < 60) return 'Eligible'; }
数値でない場合に null を返すという条件は非常に明白です。単純なチェックで関数を開始し、それが失敗した場合は、ガード式 (最初のチェック) より下のすべてが落ちます。関数が読みやすくなり、さらに重要なことに、不要な計算が防止されます。
以上がJavaScript のガード式の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。