JavaScript関数のbind, call, applyの違いついて

URL
date
Nov 21, 2022
slug
javascript-function-bind-call-apply
status
Published
tags
Basic
Javascript
summary
JavaScript関数のbind, call, applyの違い
type
Post
現代のフロントエンドフレームワークは、SPA(Single Page Application)、SSR(Server Side Rendering)などが種類になっていても、本質はJavascriptを知らないといけない。
 
今回は、JavaScriptの基本(basic)の復習も兼ねて、bind call apply を調べてみます。
 
詳細は、以下の MDNサイトを参照
 
 
 

Call Function の構文

 

Call Function のコード確認

Food Object が呼ばれて、Product.call の引数として、thisnamepriceを入れると、Food Object領域でthisが参照されることが分かります。 Toy も同様になります。
 
 

Apply Function の構文

 

Apply Function のコード確認

call関数と同様な動きですが、違いとして call 関数は、引数を受け取ることに対してapply 関数は、連続した引数のリストを受け取ることになります。
 

Bind Function の構文

 

Bind Function のコード確認

obj変数とsum関数をbindで括ることになります。
 
このままsum(1, 2, 3)関数を呼ぶと、thisは、グローバルになるので
sum.bind(obj)にして新しいコピー関数を呼び出すと以下になります。

© EndlessDev2016 2021 - 2025