JavaScript හි වස්තු ගුණයකට ප්‍රවේශ වීමේ දෝෂය

වස්තුවක ගුණයකට ප්‍රවේශ වන විට, එම ගුණයේ නම විචල්යයක ගබඩා කළ නොහැක. අපි හිතමු එයට හේතුව කුමක්ද කියා. අපට මෙවැනි වස්තුවක් තිබේය යි කියමු:

javascriptlet obj = {a: 1, b: 2, c: 3};

විචල්යයක අපට අවශ්‍ය ගුණයේ නම ගබඩා කර ඇති යැයි උපකල්පනය කරමු:

javascriptlet key = 'a';

අපි එම විචල්යය භාවිතා කරමින් වස්තුවේ ගුණයට ප්‍රවේශ වීමට උත්සාහ කරමු:

javascriptconsole.log(obj.key); // undefined

ඉහත කේතය ක්‍රියා නොකරනු ඇත, මන්ද අර්ථය අනුව අපි සොයන්නේ නම 'key' සහිත ගුණයක්, විචල්යයේ ගබඩා කර ඇති නම සහිත ගුණයක් නොවේ key. එනම් අර්ථය අනුව අපගේ කේතය පහත දැක්වෙන කේතයට සමාන වේ:

javascriptconsole.log(obj['key']);

විචල්යයක ඇති යතුරක් භාවිතා කරමින් මූලද්‍රව්‍යයකට ප්‍රවේශ වීමේ එකම ක්‍රමය වන්නේ එම විචල්යය වර්ග කොටු වරහන් තුළ ලිවීමයි:

javascriptconsole.log(obj[key]);
Задание 1

පහත දැක්වෙන කේතයේ සිදු කර ඇති දෝෂය සංශෝධනය කරන්න:

javascriptlet obj = {x: 1, y: 2, z: 3};

let prop = 'x';
console.log(obj.prop);
Задание 2

පහත දැක්වෙන කේතයේ සිදු කර ඇති දෝෂය සංශෝධනය කරන්න:

javascriptlet obj = {x: 1, y: 2, z: 3};

let prop = 'x';
console.log(obj['prop']);