などのループ イディオムを使用している_.some()
が、イテレータ関数を渡していない場合は、何か問題が発生しています。ただし、アンダースコアはこれを ID 関数に置き換えて実行を続けます。
理由:アンダースコアから
var any = _.some = _.any = function(obj, iterator, context) {
iterator || (iterator = _.identity); // this line?
var result = false;
if (obj == null) return result;
if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
each(obj, function(value, index, list) {
if (result || (result = iterator.call(context, value, index, list))) return breaker;
});
return !!result;
};
ケースの使用法:
_.some([0,1,2,3], null);