これは、アンダースコア (1.3.3) のソース コードを読んだときに見たものです。その各メソッド
var each = _.each = _.forEach = function(obj, iterator, context) {
if (obj == null) return;ネイティブForEach && obj.forEach ===ネイティブForEach) {
obj.forEach(iterator, context);
} else if (obj.length === obj.length) {
for (var i = 0) , l = obj.長さ;
if (iterator.call(context, obj[i], i, obj)
} else {
for (var key in obj) {
if (_.has(obj, key)) {
if (iterator.call(context, obj[key], key, obj) == = ブレーカー) return;
}
}
}
このメソッドには文があります
コードをコピー
コードをコピー
一部のライブラリには、型判定のためのツール関数があります。
コードをコピー
または Object.prototype.toString を使用します
コードをコピーします
このように変更されました
コードをコピー
さまざまなタイプでテスト
コードをコピー
}
結果として、配列内の最後の項目のみが true になります。つまり、数値型 a === a のみが true となります。
なぜ typeof を使用しないのかというと、理論的には文字列比較ではすべての文字を走査する必要があり、パフォーマンスは文字列の長さに直接比例するからです。