私は予想通りこれは4と長さを示しているクロムのコンソールなぜ配列のlengthプロパティの値がjavascriptで読み込み専用に設定されていても変更されますか?
var a = new Array(1,2,3,4);
a.length
に次のコードを試してみました。 は、今私は、書き込み可能なようlengthプロパティを設定してみました:偽:プロパティが書き込み可能に設定されているにもかかわらず
Object.defineProperty(a, "length", {writable: false});
a[4] = 5;
a.length
偽これは5になります。どうしてこうなりました?読み取り専用(書き込み可能:false)に設定されているため、同じままにしてはいけませんか?
"また、デフォルトはすでにfalseです。" - 参照してください –
既に与えられたリンク – kevinamadeus
私はあなたが配列の長さのプロパティのための '書き込み可能'のデフォルト値がfalseであることを意味すると思います。また、あなたの例の長さは4であり、4は5ではありません。 – Michiel