ホームページ >ウェブフロントエンド >jsチュートリアル >ES6 アロー関数で明示的な Return ステートメントを使用する必要があるのはどのような場合ですか?

ES6 アロー関数で明示的な Return ステートメントを使用する必要があるのはどのような場合ですか?

DDD
DDDオリジナル
2024-12-25 08:15:24947ブラウズ

When Should I Use Explicit Return Statements in ES6 Arrow Functions?

ES6 アロー関数で return ステートメントを使用する場合

ES6 アロー関数は、関数を作成するための簡潔な構文を提供します。ただし、従来の関数とは異なり、アロー関数は式の結果を暗黙的に返します。

Return を使用する場合

暗黙的な return は便利ですが、特定のケースでは、明示的な return ステートメントが必要です:

1.複数行の関数

アロー関数が複数行にまたがる場合は、明示的な return ステートメントを使用する必要があります。これにより、開発者が return ステートメントを追加し忘れた場合のエラーを防ぐことができます。

たとえば、次のアロー関数は、複数行に展開されると未定義を返します。

(name) => {
  // Do something
};

この問題を回避するには、次のようにします。明示的な return ステートメントを使用する必要があります:

(name) => {
  // Do something
  return 'Hi ' + name;
};

2.ブロック

アロー関数にブロック (中括弧で区切られた) が含まれる場合、ブロック内で明示的な return ステートメントが必要です。

たとえば、次の関数は未定義を返します。明示的な return ステートメントの欠如:

(name) => {
  {
    return 'Hi ' + name;
  }
};

これを修正するには、明示的な return ステートメントを次のようにします。追加:

(name) => {
  return {
    id: name
  };
};

例外

ブロック内で暗黙的な戻りが有効となる例外が 1 つあります。それは、ブロックが括弧で囲まれた単一の式で構成されている場合です。

たとえば、次の関数はオブジェクト:

(name) => ({
  id: name
});

いくつかの具体例を示します:

  • ブロックなし: (名前) =>名前; name を返します。
  • ブロックと明示的な Return を使用: (name) => { 'こんにちは' 名前を返します;
  • ブロックと暗黙的なリターンを使用して: (name) => ({ id: name }) は { id: name } を返します。
  • エラーあり: (name) => { id: name } は、明示的な return ステートメントがないため、unknown を返します。

以上がES6 アロー関数で明示的な Return ステートメントを使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。