古いブラウザーと互換性を持たせるJavaScriptクラスのプロトタイプを収集しています。それは気にしませんが、それらを収集しているときに、Mozillaの開発者が配列をnullと比較していることを不思議に思っています。その説明ですか???
if (!Array.prototype.every) {
Array.prototype.every = function(fun /*, thisp */) {
"use strict";
if (this == null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (typeof fun != "function")
throw new TypeError();
var thisp = arguments[1];
for (var i = 0; i < len; i++) {
if (i in t && !fun.call(thisp, t[i], i, t))
return false;
}
return true;
};
}
この行で
if (this == null)
これは配列を指します
Mozillaのこのコード
親切に説明が必要なのは、変数ではなく配列型を参照する「これ」が配列またはnullになる可能性があることを知っていても、配列をnullと比較するロジックであるということです?? あなたが思うこと ??