[JavaScript]関数かどうかを調べる

仕事でコードを見ている際に、コールバック関数を設定しているところで、下記のようなコードを見つけた。

if($.isFunction(callback)){
    callback();
}

上記の書き方は実はjQueryです。
JavaScriptでも書くことができます。渡された値が関数かどうかチェックするには、typeofを使用します。

function(callBack)    
{
    ...
    if(typeof callBack == 'function') {
        callBack();
    }
}

jQueryの$.isFunction ・・・ booleanが返る
typeof・・・ 型の文字列が返る

基本typeofで型をチェックするとよいのではないかなと思います。

JavaScriptおすすめの書籍

JavaScriptはonlineの情報も多く、Google検索が便利なので書籍を読む必要はないかもしれません。
ただ、これから学ぶ方は一冊簡単な本を読んだ方が理解が深まると思います。逆引き本とかも良書はあるのですが、Google検索した方がコピー&ペーストできるので便利なのでいらないかな。

確かな力が身につくJavaScript「超」入門 第2版
これからはじめる方向け

開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質
超おすすめ!Google検索では出てこないJavaScriptが学べます。これを読み終えた時、一段自分のコーディング力が上がったと思いました。