0
配列b [1]がfをゲッターとセッターとして使用していないのに配列aが使用する理由を理解できません。どちらも配列です。私はここで何が欠けているのですか?なぜこの配列プロトタイプは機能しませんか?
function f(){
print("in f");
}
Object.defineProperty(Array.prototype, "0",
{ get : f, set:f});
var a=[];
var b=[1];
a[0]; // prints f
a[0]=1; //prints f
b[0]; // no print
b[0]=1; // no print
console.log("a is an array " + Array.isArray(a)); //a is an array true
console.log("b is an array " + Array.isArray(b));//b is an array true
を? 'defineProperty'はオーバーライドされています。 – Li357
'b'は独自のプロパティ0を持ち、' a'はそうではないので? – nnnnnn
'a'はまだ空であるため、' 0'プロパティはありません。 –