そこで、この単純な JavaScript コードに出くわしました。objectA が関数として定義されていないにもかかわらず、関数として呼び出されていることに驚きました。関数として呼び出されたときに objectA が機能するのはなぜですか?
function greaterThan(x) {
return function(y) {
return y > x;
};
}
var objectA = greaterThan(10);
console.log(objectA(9));
これがJSFiddleです。