ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript `apply()` と `call()`: いつどちらを使用する必要がありますか?

JavaScript `apply()` と `call()`: いつどちらを使用する必要がありますか?

Linda Hamilton
リリース: 2024-12-22 19:07:14
オリジナル
896 人が閲覧しました

JavaScript `apply()` vs. `call()`: When Should I Use Which?

JavaScript の呼び出しメソッド: apply() と call() の比較

JavaScript で関数を呼び出す場合、次の 2 つの主要なメソッドがあります。あなたの処分:apply()とcall()。どちらも、指定された this 値を使用して関数を実行できますが、引数を渡す方法が異なります。指定された argumentArray からの配列。

指定された thisValue と配列の要素を個別に使用して関数を呼び出します。引数。

例:
  • call(thisValue, arg1, arg2, ...argN)
引数を個別に扱いますparameters.
const func = function() {
    console.log("Hello world!");
};
func.apply(null, ["John", 35]); // Invokes "Hello world!" and logs "John" and 35.
ログイン後にコピー

指定された thisValue と個別に指定された引数を使用して関数を呼び出します値。

例:
  • ニーモニック:
適用:
func.call(null, "John", 35); // Invokes "Hello world!" and logs "John" and 35.
ログイン後にコピー
A

の配列引数。呼び出し:

C
    カンマ区切りの引数。
  • パフォーマンスの違い:
  • 通常、apply() と apply() の間にはパフォーマンスの違いは無視できます。 call().

ただし、多数の引数を処理する場合は apply() の方が若干高速になる可能性があります。

    ベスト ユース ケース:
apply():

に渡す引数の配列がある場合は、apply(): を使用します。関数、特に引数の数が事前に不明な場合。

    call():
  • 個々の引数を関数に渡し、その順序をより詳細に制御したい場合。 >
  • ES6 の追加:
ES6 では、 call() で拡散演算子を使用すると、配列を個々の引数に拡散できます。

例:

以上がJavaScript `apply()` と `call()`: いつどちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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