ホームページ > ウェブフロントエンド > jsチュートリアル > 中括弧で囲まれたアロー関数は、明示的に返されない限り、なぜ「unknown」を返すのでしょうか?

中括弧で囲まれたアロー関数は、明示的に返されない限り、なぜ「unknown」を返すのでしょうか?

Susan Sarandon
リリース: 2024-12-20 09:33:10
オリジナル
856 人が閲覧しました

Why Do Arrow Functions with Curly Braces Return `undefined` Unless Explicitly Returned?

アロー関数: 欠落している戻り値を理解する

JavaScript の領域では、アロー関数は、簡潔で表現力豊かな関数として人気の選択肢として浮上しています。コード。ただし、関数本体のバージョン (中括弧付き) を使用する場合、一般的な落とし穴が発生する可能性があります。

問題: 戻り値が欠落している

次のアロー関数について考えてみましょう。

const f = arg => { arg.toUpperCase(); };
ログイン後にコピー

この関数を呼び出すと、期待された値の代わりに未定義が返されます。それはなぜですか?

暗黙的な Return の公開

アロー関数では、簡潔な本体 (中括弧なし) を使用するときに return ステートメントが暗黙的に適用されます。これは、括弧内の式の結果が戻り値になることを意味します。

簡潔な本体の例:

const f = arg => arg.toUpperCase();
ログイン後にコピー

ここで、この関数を呼び出すと、目的の文字列が返されます。

console.log(f("testing")); // "TESTING"
ログイン後にコピー
ログイン後にコピー

関数の明示的な戻り値Body

ただし、中括弧を使用する場合は、何を返すかを示す明示的な return ステートメントが必要です。それ以外の場合、関数は未定義を返します。

明示的な戻り値の例:

const f = arg => { return arg.toUpperCase(); };
ログイン後にコピー

この変更された関数を呼び出すと、同じ結果が生成されます:

console.log(f("testing")); // "TESTING"
ログイン後にコピー
ログイン後にコピー

覚えておいてください: 暗黙の return はアロー関数の簡潔な本体に存在しますが、関数本体に中括弧を使用する場合は、明示的な return が必要です。この区別を理解することは、コード内で予期しない未定義の値が含まれることを避けるために非常に重要です。

以上が中括弧で囲まれたアロー関数は、明示的に返されない限り、なぜ「unknown」を返すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート