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

一部のアロー関数は「unknown」を返し、他のアロー関数は返さないのはなぜですか?

Patricia Arquette
リリース: 2024-12-16 16:39:14
オリジナル
246 人が閲覧しました

Why Do Some Arrow Functions Return `undefined` While Others Don't?

アロー関数の戻り値を理解する: 明示的対暗黙的のジレンマ

ES6 で導入されたアロー関数は、その利点で人気を集めています。簡潔な構文と柔軟性。ただし、戻り値を処理するときに、初心者プログラマを悩ませる一般的な落とし穴が発生します。

次のアロー関数を考えてみましょう:

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

この関数を呼び出すと、予期せず未定義が返されます。なぜこのようなことが起こっているのでしょうか?

簡潔なアロー関数の暗黙的なリターン

アロー関数には、中括弧のない簡潔な形式と、波括弧を使用したより冗長な形式の 2 つの異なる構文バリアントがあります。中括弧。簡潔な形式では本体式の結果が暗黙的に返されるため、明示的な return ステートメントは必要ありません。したがって、 arg => のようなアロー関数は、 arg.toUpperCase();

中括弧で囲まれたアロー関数の明示的な戻り値

一方、中括弧で囲まれたアロー関数は、従来の関数本体を使用します。このシナリオでは、暗黙的なリターンはありません。このようなアロー関数から値を取得するには、明示的な return ステートメントを使用する必要があります。前の例を変更すると、

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

これで、関数は大文字の引数を正しく返すようになります。あるいは、中括弧を省略して、より簡潔な形式を使用することもできます。

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

この場合、アロー関数は、大文字で始まる引数である式の結果を暗黙的に返します。

アロー関数の暗黙的な戻り値と明示的な戻り値の違いを理解することで、戻り値を扱うときに発生する落とし穴を回避できます。

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

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