ობიექტების დაულაგებლობა JavaScript-ში
როგორც უკვე იცით, მასივებში ელემენტები განლაგებულია მკაცრი თანმიმდევრობით, ვინაიდან თითოეული ელემენტის პოზიცია განსაზღვრავს მის გასაღებს. ობიექტებში კი ჩვენ თვითონ ვნიშნავთ გასაღებებს, ამიტომ ელემენტების მიყოლის თანმიმდევრობას მნიშვნელობა არ აქვს. ანუ მასივები არის დალაგებული სიები, ობიექტები კი - არა.
მაგალითისთვის განვიხილოთ ასეთი ობიექტი:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // გამოიტანს 'a'-ს
console.log(obj[2]); // გამოიტანს 'b'-ს
console.log(obj[3]); // გამოიტანს 'c'-ს
თუ ამ ობიექტის ელემენტები გადანაწილდება თვითნებური თანმიმდევრობით (რა თქმა უნდა, მათ გასაღებებთან ერთად), ამით ჩვენი სკრიპტის მუშაობაში არაფერი შეიცვლება:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // გამოიტანს 'a'-ს
console.log(obj[2]); // გამოიტანს 'b'-ს
console.log(obj[3]); // გამოიტანს 'c'-ს
გარდა ამისა, რიცხვითი გასაღებები სულაც არ არის სავალდებულო ჰქონდეთ ყველა მნიშვნელობა ხვრელების გარეშე, მასივის მსგავსად. ჩვენ შეიძლება გვქონდეს თვითნებური რიცხვები და ეს არანაირ პრობლემას არ გამოიწვევს (მასივების დაშვებადობის მსგავსად). ამიტომ შემდეგი ობიექტი კორექტულია:
let obj = {7: 'a', 50: 'b', 23: 'c'};
შექმენით ობიექტი და დარწმუნდით, რომ გასაღებების თანმიმდევრობას მასში მნიშვნელობა არ აქვს.