தொகுதி பாடங்கள் (2/2)
வரிசைகள் மற்றும் டூப்பிள்ஸ்
ஜாவாஸ்கிரிப்ட்டில், வரிசைகள் எந்த வகையான உறுப்புகளையும் கொண்டிருக்கலாம் மற்றும் மாறும் அல்லது சுருங்கலாம். டைப்ஸ்கிரிப்ட், சேகரிப்புகள் ஒரே மாதிரியாக இருப்பதை உறுதிப்படுத்த அல்லது நிலையான வகை கட்டமைப்பை மதிக்க நிலையான வகை சரிபார்ப்பைச் சேர்க்கிறது.
அணிவரிசைகள் (ஒரே மாதிரியான தொகுப்புகள்)
டைப்ஸ்கிரிப்டில், ஒரே வகை கூறுகளைக் கொண்ட அணிவரிசையின் வகையை வரையறுக்க இரண்டு சமமான வழிகள் உள்ளன:
-
சதுர அடைப்புக்குறிகளைத் தொடர்ந்து உறுப்பு வகையைப் பயன்படுத்துதல் (
[]):TSconst numbers: number[] = [1, 2, 3]; const strings: string[] = ['a', 'b', 'c']; -
பொதுவான
Array<T>வகையைப் பயன்படுத்துதல்:TSconst numbers: Array<number> = [1, 2, 3];
இரண்டு தொடரியல்களும் முழுமையாக செல்லுபடியாகும், ஆனால் முதல் ஒன்று (type[]) வழக்கமான மற்றும் மிகவும் பொதுவான பாணியாகும். நீங்கள் தவறான மதிப்பைச் செருக முயற்சித்தால் (எ.கா. number[] வரிசையில் numbers.push("hello")), டைப்ஸ்கிரிப்ட் தொகுக்கும் நேரப் பிழையை உருவாக்கும்.
டூப்பிள்ஸ் (நிலையான நீள வரிசைகள்)
ஒரு tuple என்பது ஒரு சிறப்பு வகை வரிசையாகும், இது நிலையான எண்ணிக்கையிலான உறுப்புகள் இதில் ஒவ்வொரு உறுப்புக்கும் அதன் நிலையின் அடிப்படையில் முன் வரையறுக்கப்பட்ட குறிப்பிட்ட வகை இருக்கும்.
எடுத்துக்காட்டாக, நிலைக் குறியீடு (எண்) மற்றும் செய்தி (சரம்) ஆகியவற்றால் செய்யப்பட்ட HTTP பதிலைச் சேமிக்க:
const response: [number, string] = [200, 'OK'];இந்த வழக்கில்:
- முதல் உறுப்பு (
response[0])numberஆக இருக்க வேண்டும். - இரண்டாவது உறுப்பு (
response[1])stringஆக இருக்க வேண்டும். - வரிசை சரியாக 2 உறுப்புகளுடன் துவக்கப்பட வேண்டும்.
படிக்க மட்டும் டூப்பிள்ஸ் (readonly)
டைப்ஸ்கிரிப்ட்டில் உள்ள டூப்பிள்களைப் பற்றிய முக்கியமான விவரம் என்னவென்றால், இயக்க நேரத்தில் அவை சாதாரண ஜாவாஸ்கிரிப்ட் வரிசைகளாக இருக்கும். அதாவது .push() அல்லது .pop() போன்ற பிறழ்வு முறைகள் தொழில்நுட்ப ரீதியாகக் கிடைக்கின்றன மற்றும் வகைச் சரிபார்ப்புகளை ஓரளவு கடந்து டூப்பிள் நீளத்தை மாற்றலாம்.
இந்த நடத்தையைத் தடுக்கவும், உண்மையான மாறாத தன்மையைச் செயல்படுத்தவும், readonly மாற்றியைப் பயன்படுத்தலாம்:
const point: readonly [number, number] = [10, 20];
// point.push(30); // Compile-time error!நீங்களே முயற்சி செய்து பாருங்கள்
பயிற்சி 1: எண்களின் வரிசை
90, 85, மற்றும் 95 ஆகிய மதிப்புகளுடன் தொடங்கப்பட்ட எண்களை மட்டுமே கொண்ட ஸ்கோர்கள் என்ற வரிசையை அறிவிக்கவும். வரிசைக்கான வெளிப்படையான வகை சிறுகுறிப்பைப் பயன்படுத்தவும். எந்த வகையையும் பயன்படுத்த வேண்டாம்.
குறிப்பைக் காட்டு
தொடரியல் கான்ஸ்ட் மதிப்பெண்களைப் பயன்படுத்தவும்: எண்[] = ... அல்லது வரிசை<எண்>.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
உடற்பயிற்சி 2: 3D ஒருங்கிணைப்பு டூப்பிள்
10, 20, 30 ஆகிய மதிப்புகளுடன் துவக்கப்படும் 3D ஒருங்கிணைப்பை (X, Y, Z க்கு மூன்று எண்கள்) குறிக்கும் டூப்பிள் பெயரிடப்பட்ட புள்ளியை அறிவிக்கவும். வெளிப்படையான வகை சிறுகுறிப்பைப் பயன்படுத்தவும்.
குறிப்பைக் காட்டு
Tuple வகை கண்டிப்பாக [எண், எண், எண்] இருக்க வேண்டும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
பயிற்சி 3: இருப்பிடத் தகவல் Tuple
புவியியல் ஒருங்கிணைப்பை அதன் பெயருடன் குறிக்கும் லொகேஷன்இன்ஃபோ என பெயரிடப்பட்ட டூப்ளை அறிவிக்கவும். அதில் இருக்க வேண்டும்: அட்சரேகை (எண்), தீர்க்கரேகை (எண்) மற்றும் நகரத்தின் பெயர் (சரம்). 41.9028, 12.4964 மற்றும் 'ரோம்' மதிப்புகளுடன் அதைத் தொடங்கவும்.
குறிப்பைக் காட்டு
மூன்று கூறுகளைக் கொண்ட டூபிளை வரையறுக்க தொடரியலைப் பயன்படுத்தவும்: [எண், எண், சரம்].
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
பயிற்சி 4: லாக் என்ட்ரி டூப்பிள்
பதிவுக் கோட்டைக் குறிக்கும் logEntry என்ற tuple ஐ அறிவிக்கவும். இது வரிசையாக இருக்க வேண்டும்: நேர முத்திரை (எண்), தீவிர நிலை (சரம்) மற்றும் ஒரு பிழை செய்தி (சரம்). நேர முத்திரை 1716300000, நிலை 'INFO' மற்றும் 'பயன்பாடு தொடங்கியது' என்ற செய்தியுடன் அதைத் தொடங்கவும்.
குறிப்பைக் காட்டு
மூன்று-உறுப்பு tuple ஐ வரையறுக்க தொடரியல் பயன்படுத்தவும்: [எண், சரம், சரம்] மற்றும் குறிப்பிட்ட மதிப்புகளை ஒதுக்கவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்