JavaScript හි වස්තු වල අවිධිමත් බව
ඔබ දැනටමත් දන්නා පරිදි, අරාවන් වල අංග කැදැල්ලක අනුපිළිවෙලට සකසා ඇත, මන්ද එක් එක් අංගයේ තණ්තාව එහි යතුර නිර්වචනය කරයි. වස්තූන් වලදී, අපි යතුරු පත් කරන්නෙමු, එබැවින් අංග අනුපිළිවෙල වැදගත්කමක් නොදරයි. එනම් අරාවන් යනු ඇණවුම් කළ ලැයිස්තු වේ, අතර වස්තූන් එසේ නොවේ.
උදාහරණයක් ලෙස මේ විදියේ වස්තුවක් සලකා බලමු:
javascriptlet obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // 'a' ප්රතිදානය කරයි
console.log(obj[2]); // 'b' ප්රතිදානය කරයි
console.log(obj[3]); // 'c' ප්රතිදානය කරයි
මෙම වස්තුවේ අංග අහඹු අනුපිළිවෙලකට යළි සකස් කලහොත් (ඇත්ත වශයෙන්ම, ඒවායේ යතුරු සමග එක්ව), අපගේ ස්ක්රිප්ට් ක්රියාකාරිත්වයේ කිසිදු වෙනසක් සිදු නොවේ:
javascriptlet obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // 'a' ප්රතිදානය කරයි
console.log(obj[2]); // 'b' ප්රතිදානය කරයි
console.log(obj[3]); // 'c' ප්රතිදානය කරයි
ඊට අමතරව, සංඛ්යාත්මක යතුරු අනිවාර්යයෙන්ම අරාවක් මෙන් හිස් තැන් නොමැතිව සියලු අගයන් තිබිය යුතු නොවේ. අපට අහඹු සංඛ්යා තිබිය හැකිය එය කිසිදු ගැටලුවකට හේතු නොවේ (මෙය අරාවන් වල විරල බවට සමාන වේ). එබැවින් පහත වස්තුව නිවැරදිය:
javascriptlet obj = {7: 'a', 50: 'b', 23: 'c'};
වස්තුවක් නිර්මාණය කර එහි යතුරු වල අනුපිළිවෙල වැදගත් නොවන බවට වග බලා ගන්න.