JavaScriptにおける匿名関数の配列
以前、JavaScriptの関数は文字列や数値のように振る舞うと述べました。 特に、関数からなる配列を作成することができます。 作成してみましょう:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
例えば、配列のゼロ番目の要素の内容をコンソールに出力してみましょう:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
console.log(arr[0]); // 最初の関数のソースコードが表示されます
上の例でわかるように、結果ではなく関数のソースコードが取得されます。
関数呼び出しを発生させるには、関数に括弧を追加する必要があります。
関数はarr[0]に格納されているため、角括弧の後に括弧を記述する必要があります。このように:arr[0]()。確認してみましょう:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // '1' を出力します
関数の配列をループで反復処理し、そのループ内で各関数を呼び出すこともできます:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // ループ内で関数を呼び出します
}
3つの関数を持つ配列arrを作成してください。
最初の関数はreturnで数値1を返し、
2番目は数値2を、
3番目は数値3を返すようにします。
作成した配列arrを使用して、
対応する関数を呼び出し、コンソールに数値3を出力してください。
作成した配列arrを使用して、
(ループを使用せずに)関数の結果の合計を求めてください。
作成した配列arrをループで反復処理し、
すべての関数の実行結果をコンソールに出力してください。