関数はオブジェクト

関数はオブジェクトであり、変数への代入や他のオブジェクトへの格納ができる。

function 関数() {}

// 関数を変数に代入
let x = 関数
// 再代入
let y = x
// オブジェクトのプロパティに格納
let z = {
  メソッド: x
}
// 配列に格納
let 配列 = [x]

// 実行
関数()
x()
y()
z.メソッド()
配列[0]()

// 全部同じ関数を指す
console.log(x === 関数, y === 関数, z.メソッド === 関数, 配列[0] === 関数) // true true true true