ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で一部のアロー関数が「unknown」を返すのはなぜですか?

JavaScript で一部のアロー関数が「unknown」を返すのはなぜですか?

Patricia Arquette
リリース: 2024-12-18 05:25:09
オリジナル
309 人が閲覧しました

Why Do Some Arrow Functions Return `undefined` in JavaScript?

アロー関数が未定義を返す理由: 明示的リターンと暗黙的リターンの難題

アロー関数は、JavaScript で関数を定義するための簡潔な構文を提供します。ただし、括弧 ({}) で囲まれた関数本体を扱うとき、初心者はしばしば特有の問題に遭遇します。なぜこれらのアロー関数は unknown を返すのですか?

次の単純な例を考えてください:

const f = arg => { arg.toUpperCase(); };
console.log(f("testing")); // undefined
ログイン後にコピー

このアロー関数は引数を大文字に変換することを目的としていますが、未定義を返します。その理由は、アロー関数の本体を囲むオプションの中括弧にあります。

本体式が暗黙的に返される簡潔な本体 (中括弧なし) のアロー関数とは異なり、関数本体の構文を持つアロー関数には、明示的な return ステートメント。元の例では、明示的な戻り値が存在しないため、大文字の引数の代わりに未定義が返されます。

これを修正するには、明示的な戻り値を使用します。

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

または簡潔な本文を使用してください:

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

明示的な return と簡潔な例body:

const f1 = arg => { return arg.toUpperCase(); };
console.log(f1("testing"));

const f2 = arg => arg.toUpperCase();
console.log(f2("testing"));
ログイン後にコピー

これらのルールに従うことで、明示的または暗黙的な戻りのいずれによっても、アロー関数が常に意図した値を返すようにすることができます。

以上がJavaScript で一部のアロー関数が「unknown」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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