我正在阅读一本书,主要是足够的指南,在关于 First Class 函数的章节中,我遇到了这个例子。有人可以向我解释吗?
它说下面的两行是相等的。
// ignorant
const getServerStuff = callback => ajaxCall(json => callback(json));
// enlightened
const getServerStuff = ajaxCall;
这是两者相等的原因:
// this line
ajaxCall(json => callback(json));
// is the same as this line
ajaxCall(callback);
// so refactor getServerStuff
const getServerStuff = callback => ajaxCall(callback);
// ...which is equivalent to this
const getServerStuff = ajaxCall; // <-- look mum, no ()'s
但我无法理解这部分。这两个如何等效?
// this line
ajaxCall(json => callback(json));
// is the same as this line
ajaxCall(callback);
有人可以用外行的方式解释吗?