【JavaScript】関数の前のコロン「hoge:function()」はオブジェクト初期化子の記法

アリスです。

 

関数の前についている:(コロン)を初めて見たとき、名前空間かと勘違いしました。
名前空間ではありませんでした。

 

これはオブジェクト初期化子という記法です。
コロンの前がkey、後ろがvalueのことで、キー(key):値(value)のペアをカンマ区切りで並べます。

スポンサーリンク
スポンサーリンク

使用例

実際の使い方は下記のソースコードを参考にしてください。

 

var object = {

    // 関数定義
    hoge1 : function(x) {
        return x + 8;
    },

    // 同じオブジェクト内の関数をコール
    hoge2 : function() {
      var hoge1_result = object.hoge1(10);
      return hoge1_result + object["hoge4"];  // 60が返る
    },

    // プロパティ定義
    hoge3 : 'bar',

    hoge4 : 42,

    hoge5 : { myProp: 12 },
}

 

オブジェクト初期化子を使うことで、オブジェクトの生成と初期化を同時に行えるのです。

上の例でいえば、var objetct = {}でオブジェクト自体が生成されます。

後は、object変数経由で、オブジェクト内にある関数をコールできるというわけです。

タイトルとURLをコピーしました