吉本集の個人ブログ
Web制作の技術について書いています。たまに日記も書きます。

【JS入門】関数について Vol.4(関数オブジェクト、定義済み関数)

2018年1月17日 / category : javascript

関数について数回に分けて記事を書いてきましたので、ある程度理解できたと思います。今回もまた関数について書いていこうと思いますが、話をデータ型に戻してみると、JavaScriptのデータ型は、プリミティブ型とオブジェクト型の2種類であると以前の記事で解説しました。では、関数はどちらのデータ型になるでしょうか。

関数オブジェクト

関数は、プリミティブ型ではないというのは想像できると思います。そうなると残りはオブジェクト型になるわけですが、オブジェクト型とは、次のような形式になっているはずです。

{}

ただ、関数の形式は次のような形式です。

function 関数名(){
	関数文
}

関数が特殊なオブジェクトという扱いになります。これを関数オブジェクトと呼びます。この関数オブジェクトのデータ型を確かめてみます。

sample.js
function func(){}
console.log( typeof func );

上のコードをコンソール画面で確認するとfunctionと表示されます。オブジェクト型なのでobjectと表示されてほしいところですが、関数オブジェクトは特殊なだけあってfunctionと表示されるようです。

定義済み関数

今ままでサンプルとして定義していた関数で解説してきましたが、JavaScript言語が用意してくれている関数(定義済み関数)がいくつかあります。こちらに関しては、MDNのページで確認していただければと思います。

続いて、コンストラクタ関数について解説したいと思いますが、こちらは長くなりそうですので、記事を分けたいと思います。
次回は一度関数から離れ、以前に少し触れたlet、constについて解説したいと思います。