アロー関数の中括弧
最近の講義で、アロー関数を使用しているときに興味深いジレンマに遭遇しました。具体的には、特定の関数が中括弧 { } を使用して記述されている場合はテストが失敗するのに対し、中括弧を使用しない場合は正常に動作することを発見しました。
問題の理解
アロー関数は、簡潔な本体またはブロック本体を持つことができます。関数の本体が簡潔な場合、関数は 1 つの式で構成され、その式の結果が戻り値になります。この場合、アロー関数は、明示的な return ステートメントを必要とせずに、oneTodo 関数呼び出しの結果を返します。
中括弧の追加
中括弧を追加したとき、関数はブロック本体に入りました。これには、戻り値を指定する明示的な return ステートメントが必要です。コードに最初はこの return ステートメントがなかったため、関数の戻り値が未定義となり、テストが失敗しました。
解決策
この問題を解決するには、中括弧内の明示的な return ステートメント:
(one) => { return oneTodo(one, action); }
この変更により、関数は oneTodo 関数の結果を明示的に返すようになりました。
概要
混乱を避けるためには、アロー関数の簡潔な本体とブロック本体の違いを理解することが重要です。本体の各タイプの正しい構文に従うことで、関数が意図したとおりに動作し、必要なすべてのテストに合格することを確認できます。
以上が中括弧を使用するとアロー関数のテストが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。