関数とオブジェクト
JavaScript においては、関数も一種のオブジェクトです。関数自体を数値や文字列と同じく通常の値として扱うことができます。
ヒント
関数のこのような性質を第一級関数と呼びます。
関数を変数に代入する
function doSomething() {
document.write("Hello World!");
}
const someVariable = doSomething;
someVariable();
上の例では、関数doSomething
をsomeVariable
に代入しています。関数が入った変数は、そのまま通常の関数と同様に使用できます。
関数を関数の引数として使用する
function callTwice(callback) {
callback();
callback();
}
function sayHello() {
document.write("Hello");
}
callTwice(sayHello);
callTwice
の内部のcallback
には関数が格納されているので、そのまま実行することができます。