Czy istnieje sposób na zmianę właściwości długości wszystkich nowo utworzonych tablic na tylko do odczytu? Załóżmy, że mam tablicę
var arr = [1, 2, 3];
Zmiana właściwości length na „tylko do odczytu” jest prosta.
Object.defineProperty(arr, "length", { writable: false });
Teraz długości tej tablicy nie można zmienić. Ale w ten sposób musiałbym napisać ten fragment kodu dla każdej tablicy.
Żadna z tych czynności:
Object.defineProperty(Array.prototype, "length", { writable: false });
Object.defineProperty(Array, "length", { writable: false });
Czy jest to w jakiś sposób możliwe bez ręcznej zmiany dla każdej tablicy?
Odpowiedzi:
0 dla odpowiedzi № 1Dlaczego nie zgrupować tych tablic w klasy i po prostu ustawić tę konkretną klasę tylko do odczytu?