Javascriptben az objektum valójában egy asszociativ tömb?
inkább fordítva: a tömb egy objektum, aminek számozott property-jei vannak, tehát pl az array[1] lehetne array.1 is, ha a számozott property access dot notationnel nem lenne szintaktikai hiba
természetesen az összes modern JS engine erősen optimizálva van tömbökre, főleg típusos tömbök esetén (pl Float32Array)
Hasonlóak de vannak lényeges különbségek.
Az asszociatív tömb egy úgynevezett hashmap adatstruktúra, ahol a kulcsokból valamilyen eljárással készül egy szám, és tulajdonképpen az a szám van indexként használva. ( [link] ) Js-ben ha jól tudom nincs is ilyen típus beépítve.
Az objektumok ezzel szemben nem használnak hashelést. Pl ha azt mondom obj.x = 5 vagy obj["x"] = 5 akkor ténylegesen az x string lesz az, ami tárolódik mint kulcs. Ezen kívül képesek egy rakás dologra amire egy asszociatív tömb nem, pl öröklésre, példányosításra, lehetnek speciális getter/setter metódusaik, stb. És ahogy a 2-es mondja, JS-ben a sima tömbök csak speciális objektumok.
Itt jól összefoglalják: [link]
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!