Ho provato il seguente codice nella console di ChromePerché il valore della proprietà della lunghezza di una matrice cambia anche se impostato come di sola lettura in javascript?
var a = new Array(1,2,3,4);
a.length
Questo dimostra lunghezza 4 come previsto. Ora ho provato a installare proprietà length come scrivibile: true
Object.defineProperty(a, "length", {writable: false});
a[4] = 5;
a.length
Questo si traduce in 5 anche se la proprietà è impostata su scrivibili: falso. Come è successo? Non dovrebbe essere rimasto uguale a quando è impostato su sola lettura (scrivibile: falso)?
"Inoltre, il valore predefinito è già falso." - riferimento per favore –
Collegamento dato già – kevinamadeus
Suppongo che intendi che il valore predefinito di 'scrivibile' è falso per la proprietà length di un array. Anche la lunghezza nell'esempio è 4 e rimane 4 non 5. – Michiel