次のコードを実行するとします。
var a = [];
a[4] = true;
次に、配列は次のようになります[undefined, undefined, undefined, undefined, true]
しかし、このコードを実行すると:
var a = [];
a.splice(4, 0, true);
[true]
代わりに、まあ、[undefined, undefined, undefined, undefined, true]
splice を使用する場合、インデックスが配列の現在の長さを超えると、最後の要素で停止します。
これがスプライスの意図された動作である理由は何ですか?