"こんにちは、ハチです。"これは、本来Dogクラスが持っていない自己紹介のメソッドを、Dogの情報(年齢と名前)を代入することでPersonクラスから呼び出しています。taro.self_introduction.bind(hachi)();このようにカッコが重複しているのは、bindが関数を返しているからです。後ほど説明しますが、callメソッドを使うと以下のように書けます。taro.self_introduction.call(hachi);引数を指定する方法bindメソッドでは、第一引数にnullを指定すると、thisはそのままで、さらに第二引数以降が、もとの関数の引数として引き継がれます。わかりやすい計算のサンプルコードを実行してみましょう。50の値が引数としてcalc100が実行され、合計結果180を出力しています。類似メソッドとして、call/applyというメソッドがあります。先ほど紹介したように、bindメソッドは新たな関数を生成して返しますが、callメソッドではそのまま実行されます。applyメソッドは第二引数以降の指定を配列で行わなければいけない、という違いがあります。以下のように、定義した配列を引数に使う場合、appleメソッドが役に立ちます。3628800このように配列を第二引数以降に設定したい場合はapplyを使うとこのようにすっきりと書けます。まとめいかがでしたか?今回はJavaScriptのbindメソッドについて学びました。今回押さえておくべき点は以下の通りです。・第一引数はthis、第二引数以降は関数の引数として引き継がれる・類似のcallメソッドはそのまま関数を実行する・applyは第二引数以降を配列で渡す少し踏み込んだ内容ではありましたが、知っておくと便利なので覚えておきましょう!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。ヒロアキ目黒のベンチャー企業ででフルスタックエンジニアをやっています!今はWEB・スマホアプリ開発をメインに、毎日、仕事+アウトプットを目標に日々過ごしています。