Próbowałem następujący kod w Chrome konsoliDlaczego wartość właściwości długości tablicy zmienia się, nawet jeśli ustawiono ją jako tylko do odczytu w javascript?
var a = new Array(1,2,3,4);
a.length
To pokazuje długość jak 4, jak oczekiwano. Teraz próbowałem ustawienie właściwości length jako zapisu dla: false
Object.defineProperty(a, "length", {writable: false});
a[4] = 5;
a.length
Skutkuje to 5, mimo że właściwość jest ustawiona na zapisywalny: false. Jak to się stało? Czy nie powinien pozostać taki sam, jak ustawiony na tylko do odczytu (zapis: false)?
"Domyślnie jest już fałszywe." - proszę podać –
Link podany już – kevinamadeus
Zakładam, że masz na myśli domyślną wartość 'writable', która jest fałszywa dla właściwości length tablicy. Długość w twoim przykładzie wynosi 4 i pozostaje 4, a nie 5. – Michiel