エンジニアのひよこ_level10

【毎日更新!】新卒3年目エンジニアブログです!

【JavaScript】プロパティとメソッドは同名で存在出来ない?【817日目】

同じ名前のプロパティとメソッド

var obj = {};
obj.param = "3";
obj.param = function () { return "func"; };

こんなふうに同じ名前でメソッドとプロパティを設定したら?

結果

obj.param(); // "func"
obj.param; // ƒ () { return "func"; }

こんなふうに、メソッドとして扱われます。

プロパティの一つに、メソッドがある

メソッドは、あくまでプロパティであり、それが関数であればメソッドと呼ばれていると捉えると良さそうですφ(・

メソッドの場合、 obj.param の戻り値が関数であり、 ()で関数を実行しただけと捉えるとイメージが付きやすそうですφ(・