Middle
Kāpēc JavaScript masīvu funkcijas uzskata par objektiem?
sobes.tech AI
Atbilde no AI
JavaScript masīvi ir īpašs objektu tips.
Galvenie iemesli:
- Mantošana no
Object.prototype: Masīvi manto īpašības un metodes no pamata prototipaObject.prototype. Tas ļauj tiem izmantot kopīgas metodes, piemēram,toString(),hasOwnProperty()un citas, kas raksturīgas objektiem. - Īpašības: Masīviem ir īpašības, tāpat kā objektiem. Visbiežāk sastopamā ir
length, kas rāda elementu skaitu. Piekļuve masīva elementiem notiek ar skaitliskām atslēgām, kas līdzīgas piekļuvei objekta īpašībām ar virknes atslēgām, tikai šajā gadījumā atslēgas ir skaitļu tekstuālas reprezentācijas. - Uzvedība: Neskatoties uz to, ka tie ir specializēti (kārtota kolekcija pēc skaitliskajiem indeksiem), masīvu uzvedība daudzos aspektos sakrīt ar parasto objektu uzvedību. Piemēram, tiem var pievienot jebkādas īpašības (lai arī tas nav ieteicams lasāmības saglabāšanai).
// Masīvs kā specializēts objekts
let myArray = [1, 2, 3];
// Pieeja īpašībai length
console.log(myArray.length); // Izvadīs 3
// Pieeja elementam pēc indeksa ("0" atslēga)
console.log(myArray[0]); // Izvadīs 1
// Pievienot jebkuru īpašību (nestandarta)
myArray.myProperty = "hello";
console.log(myArray.myProperty); // Izvadīs "hello"
// Pārbaudīt, vai ir īpašība, kas mantoja no Object.prototype
console.log(myArray.hasOwnProperty('length')); // Izvadīs true