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 の引数として、
this
とname
、price
を入れると、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)
にして新しいコピー関数を呼び出すと以下になります。