javascriptにおける関数呼び出しパターン
JavaScript The Good Partsに記述されている内容のおさらい。
javascriptをやり始めた時、戸惑ったスコープに注目しつつ関数の呼び出しパターンについて学んでいく。
関数の呼び出し – jsdo.it – share JavaScript, HTML5 and CSS
注目すべき点は、関数呼び出しパターンにおけるthisの取扱いだろう。
今回の例では、そんな関数の設定の仕方なんてするわけないじゃん。みたいな定義の仕方をしているけれど、特にクラスベースの言語をがりがりやって、JavaScriptをやっている人はそのうち引っかかると思う。
特にクラスっぽくオブジェクトを生成するような場合は、注意が必要だ。
関数をオブジェクトのメソッドとして定義していない場合には、関数がオブジェクト内部から呼び出されたとしても、thisにはグローバルオブジェクトが格納されてしまう。スコープチェーンを辿る際に、どこで呼び出されたかということは関係ないのだろう。


