編集: 彼自身の言葉で: https://twitter.com/fogus/status/393058344413302784
Michael Fogus の「Functional JavaScript」を読んでいて、第 5 章の冒頭でこのリストに出くわしました。
function dispatch(/* funs */) {
var funs = _.toArray(arguments);
var size = funs.length;
return function(target /*, args */) {
var ret = undefined; // <----------------------------------- ??
var args = _.rest(arguments);
for (var funIndex = 0; funIndex < size; funIndex++) {
var fun = funs[funIndex];
ret = fun.apply(fun, construct(target, args));
if (existy(ret)) return ret;
}
return ret;
};
}
もしこれが間違いでなければ、なぜ彼は明示的に と定義ret
したのundefined
ですか? そして、これを行うより一般的な理由は何ですか?
前もって感謝します。