関数のプロパティ
関数にはnameプロパティがある。
var foo = { var : function(){} // 無名関数で、fooオブジェクトのvarプロパティに紐づいている } console.log(foo); console.log(foo.var); console.log(foo.var.name); function method() {} // 名前あり var bar = { var : method } console.log(bar); console.log(bar.var); console.log(bar.var.name);
$ node ninja01.js { var: [Function] } [Function] { var: [Function: method] } [Function: method] method
関数にプロパティを紐づけることが出来るので関数に関数を紐づけてみる。
使い道あるのかな?
var foo = function() {}; console.log(foo); foo.bar = function(){console.log('a');}; console.log(foo); console.log(foo.bar); foo.bar();
$ node ninja02.js [Function] { [Function] bar: [Function] } [Function] a