JavaScriptの連想配列関数と即時関数について

Java言語を知っている人がJavaScriptの関数定義で最初に戸惑うのは連想配列関数と即時関数かもしれません。
連想配列関数とは連想配列で関数を定義する事です。
即時関数はfunctionの代わりに直接関数を定義する事です。
メリットは名前の衝突を避ける事と、構文が短くなることです。

普通の関数定義

関数 bar() を定義し、foo に代入する普通の関数(関数式)です。

var foo = function bar() {
    alert("普通の関数");
    };
foo();

連想配列

連想配列(HashMap)は以下のような形式の配列の定義方法です。

var foo = {
    'test1': '1', 
    'test2': '2'
};
alert(foo.test1);
alert(foo.test2);

連想配列関数

この連想配列の右側に関数を定義すると連想配列関数になります。

var foo = {
    bar:
    function() {alert("連想配列関数");}
};
foo.bar();

連想配列関数と即時関数の組み合わせ

即時関数はfunctionの代わりに関数定義で置き換えて定義します。
これにより構文が短縮できます。

var foo = {
    bar: 
    (alert("連想配列関数+即時関数"))()
};
foo.bar();

公開日:2017年01月23日

他の記事も見る

このページのトップに戻る