TypeScript හි සාමාන්ය විචල්යයන්
Generics හි සංකල්පය වඩා හොඳින් අවබෝධ කර ගැනීම සඳහා, අපි අපගේ පළමු ශ්රිතය සාදා ගනිමු - සමාන ශ්රිතය. එවැනි ශ්රිතයක් පරාමිතියක් ලෙස ලබා දුන් දේම - එම වර්ගයෙන්ම ප්රතිදානය කරයි.
පළමුව අපි අපගේ ශ්රිතයේ ප්රභේද වෙන වෙනම ලියමු.
සංඛ්යාවක් පරාමිතියක් ලෙස ලබාගෙන සංඛ්යාවක් ප්රතිදානය කරන ශ්රිතයක් ලියමු:
function func(data: number): number {
return data;
}
දැන් වාක්යයක් පරාමිතියක් ලෙස ලබාගෙන වාක්යයක් ප්රතිදානය කරන ශ්රිතයක් ලියමු:
function func(data: string): string {
return data;
}
දැන් අපට අවශ්ය වන්නේ මේ සියල්ල එක් ශ්රිතයක් මඟින් කිරීමයි. එනම් අපට කිරීමට අවශ්ය වන්නේ සාමාන්යකරණය කිරීමයි.
මේ සඳහා අපි සාමාන්ය විචල්යයක්
භාවිතා කරමු, එය දත්ත වර්ගය සුරක්ෂිත කර ගනී.
එවැනි විචල්යයක් ශ්රිතයේ පරාමිතීන් සමඟ වරහන්
තුළට පෙර කෝණ වරහන් තුළ ප්රකාශයට පත් කෙරේ.
අපි එවැනි විචල්යයක් ප්රකාශයට පත් කරමු,
එයට T නම ලබා දෙමින් (ඕනෑම නමක් විය හැක):
function func <T>(මෙහි පරාමිතීන්) {
return data;
}
ඊට පසුව, අපට T විචල්යය ලැබෙනු ඇත,
එය පරාමිතියේ වර්ගය ඇතුළත් කර ගැනීමට පසුව
ප්රතිදාන අගය ලෙස දැක්වීමට භාවිතා කළ හැකිය.
අපගේ පරාමිතියට අපගේ විචල්යය ලෙස වර්ගයක් නිරූපණය කරමු:
function func <T>(data: T) {
return data;
}
පරාමිතිය ඕනෑම වර්ගයකින් ලබා දිය හැකි වන අතර,
එම වර්ගය අපගේ T විචල්යය තුළ සුරක්ෂිත වනු ඇත.
දැන් අපි T විචල්යයේ අගය ශ්රිතයේ
ප්රතිඵලය දැක්වීමට භාවිතා කරමු:
function func <T>(data: T): T {
return data;
}
දැන් ශ්රිතයේ ප්රතිඵල වර්ගය පරාමිතියේ වර්ගයෙන් ලබා ගන්නා බව සිදු වේ. අපි පරීක්ෂා කර බලමු.
සංඛ්යාවක් සමඟ ශ්රිතය කැඳවමු:
console.log( func(3) ); // 3 ප්රතිදානය කරයි
වාක්යයක් සමඟ ශ්රිතය කැඳවමු:
console.log( func('x') ); // 'x' ප්රතිදානය කරයි
සංඛ්යා දෙකක් හෝ වාක්ය දෙකක් පරාමිතියක් ලෙස ලබාගන්නා ශ්රිතයක් සාදන්න. ශ්රිතය තම ප්රතිඵලය ලෙස පරාමිතිවල එකතුව ප්රතිදානය කළ යුතුය.