JavaScript හි rest මෙහෙයුම්කාරකය
මෙම පාඩම ආරම්භ කරන්නේ යම් පැහැදිලි කිරීමකින්.
මෙම අංශයේ පෙර පාඩම් සියල්ලේම මම
ඔබට ... මෙහෙයුම්කාරකය පිළිබඳ සම්පූර්ණ සත්යය පැවසුවේ නැත.
ඇත්ත වශයෙන්ම, කේතයේ තබා ඇති ස්ථානය අනුව මෙම මෙහෙයුම්කාරකය spread මෙහෙයුම්කාරකය හෝ rest මෙහෙයුම්කාරකය ලෙස හැඳින්විය හැකිය.
ඔබ දැනටමත් දන්නා පරිදි, spread මෙහෙයුම්කාරකය
අරාවක හෝ නූලක ඉදිරියෙන් තබා ඇති විට, එය ඒවා වෙන් කරයි
තනි අගයන් බවට. rest මෙහෙයුම්කාරකය,
... ආකාරයෙන් එකම වාක්ය රචනය ඇති නමුත්,
වෙනත් දෙයක් සඳහා අදහස් කෙරේ.
දැන් අපි එය කුමක් සඳහාදැයි සොයා බලමු. අපිට තියෙනවා පරාමිති දෙකක් ලබා ගන්නා ශ්රිතයක්:
function func(a, b) {
console.log(a);
console.log(b);
}
ඔබ දැනටමත් දැන සිටිය යුතුය, ශ්රිතයට සම්පූර්ණයෙන්ම ලබා දෙන්නේ නම් අමතර පරාමිති, මෙය දෝෂයකට හේතු නොවේ:
func(1, 2, 3, 4, 5);
rest මෙහෙයුම්කාරකය සියල්ල ලබා ගැනීමට ඉඩ සලසයි
අමතර පරාමිති අරාවක් ලෙස. මේ සඳහා
ශ්රිතයට තවත් පරාමිතියක් එකතු කරනු ලැබේ (අනිවාර්යයෙන්ම
අවසානයේ), ඉදිරියෙන් 3 තිත ලියා ඇත:
function func(a, b, ...rest) {
}
මෙම තිත් තුන rest මෙහෙයුම්කාරකය වන අතර, නම
විචල්යයට ඕනෑම නමක් තිබිය හැකි නමුත්
සාමාන්යයෙන් එය rest ලෙසද හඳුන්වයි.
අපි අපේ ශ්රිතය අතිරික්තය සමඟ කැඳවමු
පරාමිති ප්රමාණය සහ කුමක් සිදුවේදැයි බලන්න
පරාමිතීන්ට a සහ b, නමුත් කුමක්ද -
ඉතිරි rest තුළ:
func(1, 2, 3, 4, 5);
function func(a, b, ...rest) {
console.log(a); // ප්රතිදානය 1
console.log(b); // ප්රතිදානය 2
console.log(rest); // ප්රතිදානය [3, 4, 5]
}
අමතර පරාමිති නොමැති නම්, විචල්යය
rest හිස් අරාවක් ලියා ඇත:
func(1, 2);
function func(a, b, ...rest) {
console.log(a); // ප්රතිදානය 1
console.log(b); // ප්රතිදානය 2
console.log(rest); // ප්රතිදානය []
}
ශ්රිතයට පරාමිති නොතිබිය හැකිය,
නමුත් ඒ සමඟම ඔබට rest එකතු කළ හැකිය.
මෙම අවස්ථාවේදී, ශ්රිතය ඇමතිය හැකිය
ඕනෑම පරාමිති සංඛ්යාවක් සමඟ සහ ඒ සියල්ලම
අරාවට ඇතුල් වනු ඇත rest:
function func(...rest) {
console.log(rest);
}