JavaScript හි spread ක්රියාකරු
ES6 හි, spread ලෙස හඳුන්වන විශේෂ ක්රියාකරුවෙක් ... පැමිණියේය.
spread ක්රියාකරු අරාවකට ඉදිරියෙන් ඇති විට, එම අරාව වෙන වෙනම අගයන් වලට බෙදා දමයි, අරාව ශ්රිතය ක්රියාත්මක කිරීමට අවශ්ය පරාමිති සමූහයක් බවට පත් කරයි.
නිසැකවම එය අපැහැදිලි ලෙස පෙනෙනු ඇත, එබැවින් අපි
සරල උදාහරණයක් බලමු. අපට 3 පරාමිති
ගන්නා සහ ඒවායේ එකතුව ආපසු ලබා දෙන ශ්රිතයක් ඇතැයි සිතන්න:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
අපට මූලද්රව්ය තුනකින් යුත් අරාවක් ද ඇතැයි සිතන්න:
let arr = [1, 2, 3];
පැහැදිලිවම, අපට මෙම අරාව ශ්රිතයට පරාමිතියක් ලෙස සරලව හඳුන්වා දිය නොහැක, මෙලෙස:
let arr = [1, 2, 3];
func(arr);
මන්ද, මෙම අවස්ථාවේ දී සම්පූර්ණ අරාව ශ්රිතයේ පළමු පරාමිතියට ඇතුළු වන අතර, මෙම පරාමිතියට අංකයක් ලබා දිය යුතුය (සහ ඉතිරි පරාමිති සඳහා ද).
ඇත්ත වශයෙන්ම, පහත දැක්වෙන ආකාරයෙන් කටයුතු කළ හැකිය:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
නමුත් වඩාත් සරල මාර්ගයක් තිබේ - එනම් spread ක්රියාකරු භාවිතා කිරීම:
let arr = [1, 2, 3];
func(...arr);
විචල්යයක් තිබීම අනිවාර්ය නොවේ - සෘජුවම අරාවට spread යොදා ගත හැකිය:
func(...[1, 2, 3]);
අරාවක් දී ඇත:
let arr = [1, 2, 3, 4, 5];
ශ්රිතයක් ද දී ඇත:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
දක්වා ඇති ශ්රිතය භාවිතා කර අරාවේ මූලද්රව්යවල එකතුව සොයන්න.