ホームページ ウェブフロントエンド jsチュートリアル JavaScript の匿名関数とアロー関数を詳しく見る

JavaScript の匿名関数とアロー関数を詳しく見る

Nov 03, 2023 pm 06:05 PM
javascript 無名関数 アロー関数

JavaScript の匿名関数とアロー関数を詳しく見る

JavaScript では、関数は第一級市民であり、変数と同じように渡し、保存、呼び出しができることを意味します。匿名関数とアロー関数は、JavaScript でよく使用される 2 つの関数形式です。

匿名関数は名前のない関数であり、通常は関数式を通じて宣言されます。これは宣言時に作成されますが、宣言の場所でのみ使用できます。匿名関数は、関数パラメーターとして直接渡すことも、呼び出し可能な変数として保存することもできます。

たとえば、次の匿名関数を使用して即時実行関数を作成できます:

(function () {
  console.log('立即执行函数。');
})();
ログイン後にコピー

(function () {})() コード内のanonymous メッセージを出力するコード ブロックを含む関数。これは、即時実行関数を作成するために使用されます。つまり、宣言後すぐに実行されます。この関数はグローバル名を必要としないため、匿名関数として宣言できます。

匿名関数と比較すると、アロー関数は ES6 の新機能です。アロー関数は関数を宣言する簡単な方法で、=> 記号を使用してパラメータ リストと関数本体を接続します。アロー関数は式の値を直接返すことができます。

次は、アロー関数を使用してメッセージを出力する方法を示す簡単な例です:

const printMessage = message => console.log(`信息为: ${message}`);
printMessage('Hello World!');
ログイン後にコピー

const printMessage = message => console.log(The情報は次のとおりです: ${message}); は、パラメータ message を受け取り、このパラメータをコンソールに出力するアロー関数を表します。次に、このアロー関数を変数 printMessage に保存し、それを使用してメッセージを出力します。

もう 1 つの違いは、アロー関数では、this のスコープが、その関数が実行されるコンテキストではなく、その関数が定義されているコンテキストであることです。このため、アロー関数を使用する場合、一部の特殊なケース (動的バインディング コンテキストが必要な場合など) では、this が期待どおりに動作しません。この場合、匿名関数を使用する方が便利な場合があります。

これは、オブジェクト リテラルでアロー関数を使用すると、this のコンテキストが正しくなくなる典型的な例です:

const person = {
  name: 'John Doe',
  getName: () => {
    console.log(this.name); // undefined
  }
};
person.getName();
ログイン後にコピー

ここでは、プロパティ ## を含むオブジェクトを定義します。 #name とメソッド getNamegetName メソッドは、this.name の値を出力しようとするアロー関数です。ただし、アロー関数は、それを含む関数が定義されているコンテキストを使用するため、this.name の値は unknown です。この場合、匿名関数を使用する方が良いでしょう。

これも同じ例です。今回はアロー関数の代わりに匿名関数を使用します。

const person = {
  name: 'John Doe',
  getName: function () {
    console.log(this.name); // John Doe
  }
};
person.getName();
ログイン後にコピー
ここでは、アロー関数を匿名関数に変換するだけです。この関数は通常の関数コンテキストを使用するため、

this.name の値は正しい値です。

一般に、匿名関数とアロー関数は JavaScript でよく使用される 2 つの関数形式ですが、異なる特性があります。関数を使用する場合は、実際の状況に応じて適切な関数形式を選択する必要があります。

以上がJavaScript の匿名関数とアロー関数を詳しく見るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C++ 匿名関数の使用法と特徴 C++ 匿名関数の使用法と特徴 Apr 19, 2024 am 09:03 AM

ラムダ式とも呼ばれる匿名関数は、名前を指定せず、1 回限りの使用または関数ポインターを渡すために使用される関数です。機能には、匿名性、ワンタイム使用、クロージャ、戻り値の型推論が含まれます。実際には、ソートやその他の 1 回限りの関数呼び出しによく使用されます。

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

Golang の匿名関数は複数の値を返すことができますか? Golang の匿名関数は複数の値を返すことができますか? Apr 13, 2024 pm 04:09 PM

はい、Go 言語の匿名関数は複数の値を返すことができます。構文: func(arg1,arg2,...,argN)(ret1,ret2,...,retM){//関数本体}。使用法: 戻り値を受け取るには := 演算子を使用し、複数の値を返すには return キーワードを使用します。

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

Python ラムダ式: プログラミングを簡単にする Python ラムダ式: プログラミングを簡単にする Feb 19, 2024 pm 09:54 PM

Python のラムダ式は、式を変数に格納し、その値を返す小さな匿名関数です。ラムダ式は、別の関数を作成することで実行できる単純なタスクを実行するためによく使用されますが、ラムダ式を使用すると、コードがより簡潔で読みやすくなります。 Lambda 式の構文は次のとおりです。 lambdaarguments:expressionarguments は Lambda 式によって受け取られるパラメータ リストで、expression は実行する必要があるコードを含む Lambda 式の本体です。たとえば、次のラムダ式は 2 つの数値を加算し、その合計を返します: lambdax,

Python ラムダ式: 省略、簡潔、強力 Python ラムダ式: 省略、簡潔、強力 Feb 19, 2024 pm 08:10 PM

pythonLambda 式は、簡潔で読みやすく、使いやすいコードを作成するための強力で柔軟なツールです。これらは、他の関数に引数として渡したり、変数に保存したりできる匿名関数をすばやく作成するのに最適です。 Lambda 式の基本構文は次のとおりです。 lambdaarguments:expression たとえば、次の Lambda 式は 2 つの数値を加算します: lambdax,y:x+y この Lambda 式は、次のように引数として別の関数に渡すことができます。 defsum( x ,y):returnx+yresult=sum(lambdax,y:x+y,1,2) この例では

Python ラムダ式: 匿名関数の威力を明らかにする Python ラムダ式: 匿名関数の威力を明らかにする Feb 24, 2024 am 09:01 AM

Python のラムダ式は、匿名関数の別の構文形式です。これは、プログラム内のどこにでも定義できる小さな匿名関数です。ラムダ式はパラメータ リストと式で構成されます。式には有効な Python 式を使用できます。ラムダ式の構文は次のとおりです: lambdaargument_list:expression. たとえば、次のラムダ式は 2 つの数値の合計を返します: lambdax,y:x+y. このラムダ式は、マップなどの他の関数に渡すことができます。 () 関数:数値=[ 1,2,3,4,5]結果=マップ(ラムダ

JavaScript と WebSocket: 効率的なリアルタイム検索エンジンの構築 JavaScript と WebSocket: 効率的なリアルタイム検索エンジンの構築 Dec 17, 2023 pm 10:13 PM

JavaScript と WebSocket: 効率的なリアルタイム検索エンジンの構築 はじめに: インターネットの発展に伴い、ユーザーのリアルタイム検索エンジンに対する要求はますます高くなっています。従来の検索エンジンで検索を行う場合、ユーザーは検索ボタンをクリックする必要があり、リアルタイムの検索結果を求めるユーザーのニーズに応えることができませんでした。そのため、JavaScript と WebSocket テクノロジを使用してリアルタイム検索エンジンを実装することが注目されています。この記事ではJavaScriptの使い方を詳しく紹介します。

See all articles