Object.assign ක්රමය
Object.assign ක්රමය මූලාශ්ර වස්තුවේ ගුණාංග සහ අගයන් පිටපත් කර,
එම අතරතුර නව වස්තුවක් ආපසු ලබා දෙයි. ක්රමයේ පළමු පරාමිතියේදී
අපි පිටපත් කිරීම සඳහා ඉලක්ක කරන ලක්ෂ්ය වස්තුව නියම කරමු,
දෙවන පරාමිතියේදී - පිටපත් කළ යුතු වස්තු සඳහන් කරමු.
වාක්ය රචනය
Object.assign(කොහෙද පිටපත් කරන්නේ, වස්තූන්);
උදාහරණය
අපි මූලාශ්රයෙන් නව වස්තුවක් ලබා ගනිමු:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
{a: 1, b: 2, c: 3}
උදාහරණය
දැන් අපි නව වස්තුවක් ලබා ගනිමු කිහිපයක් මූලාශ්ර වලින්, ඒවා පරාමිතිය තුළ කොමාවකින් වෙන් කර දක්වමින්:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
කේතය ක්රියාත්මක කිරීමෙන් පසු අපට පෙනෙනු ඇත, මූලාශ්ර වස්තු දෙක එක් නව වස්තුවකට ඒකාබද්ධ වී ඇති බව:
{a: 1, b: 2, c: 3, d: 4}
උදාහරණය
එසේම Object.assign ක්රමය
නව අරාවක් ලබා ගැනීම සඳහා භාවිතා කළ හැකිය,
මන්ද අරාව එහි වර්ගය අනුව ද වස්තූන්ට අයත් වේ.
අපි නව අරාවක් සාදමු, මූලද්රව්ය පිටපත් කරගනිමින්
මූලාශ්රයෙන්:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
[1, 2, 3, 4]
උදාහරණය
Object.assign ක්රමය භාවිතා කිරීමේදී
වාක්ය රචනයට අවධානයෙන් පිළිපැදිය යුතුය.
උදාහරණයක් ලෙස, එකතු නොකරන්නේ නම්
පළමු පරාමිතියට ඉලක්කගත වස්තුව, නමුත් තබන්න
පිටපත් කළ හැකි වස්තුව පමණක් නම්, එය නැවත ලැබෙනු ඇත:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
true
මෙයද බලන්න
-
Object.keysක්රමය,
එය වස්තුවේ ගුණාංගවලින් සමන්විත අරාවක් ආපසු ලබා දෙයි -
Object.valuesක්රමය,
එය වස්තුවේ අගයන්ගෙන් සමන්විත අරාවක් ආපසු ලබා දෙයි