𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗧𝘆𝗽𝗲𝘀 எளிமையாகப் புரிந்துகொள்ளுதல்

TypeScript ஒரு வகை அமைப்பை (type system) அடிப்படையாகக் கொண்டது. அதைத் தேர்ச்சி பெறுவது சிறந்த குறியீட்டை (code) எழுதுவதற்கான உங்கள் முதல் படியாகும்.

அடிப்படை வகைகள் (Basic Types)

TypeScript, JavaScript primitives போன்ற வகைகளையே பயன்படுத்துகிறது: • string: உரைகளுக்காக (text). • number: அனைத்து எண்களுக்காகவும் (முழு எண்கள் மற்றும் தசம எண்கள்). • boolean: உண்மை (true) அல்லது பொய் (false) மதிப்புகளுக்காக.

வகை ஊகம் (Type Inference)

நீங்கள் எப்போதும் வகையை எழுத வேண்டிய அவசியமில்லை. நீங்கள் வழங்கும் மதிப்பின் அடிப்படையில் TypeScript பெரும்பாலும் வகையைத் தானாகவே ஊகித்துக் கொள்ளும். இது 'inference' என்று அழைக்கப்படுகிறது.

ஒரு சிறந்த விதி: • உள்ளூர் மாறிகளுக்கு (local variables) TypeScript வகையை ஊகிக்க அனுமதிக்கவும். • function parameters மற்றும் return types ஆகியவற்றிற்குத் தெளிவான வகைகளை (explicit types) எழுதவும்.

Arrays மற்றும் Tuples

Arrays ஒரே வகையைச் சேர்ந்த பல மதிப்புகளைத் தாங்கி நிற்கும். • உதாரணம்: let tags: string[] = ["ts", "js"];

Tuples என்பது ஒரு குறிப்பிட்ட நீளம் மற்றும் ஒவ்வொரு இடத்திற்கும் குறிப்பிட்ட வகைகளைக் கொண்ட arrays ஆகும். • உதாரணம்: let user: [string, number] = ["Ramesh", 31];

Union Types

ஒரு மதிப்பு ஒன்றுக்கும் மேற்பட்ட வகைகளாக இருக்கக்கூடும் போது union types-ஐப் பயன்படுத்தவும். • உதாரணம்: let id: string | number = "abc123";

சிறப்பு வகைகள் (Special Types)

நான்கு வகைகள் பெரும்பாலும் தொடக்கநிலையினரை குழப்பமடையச் செய்கின்றன:

  1. any இது வகை சரிபார்ப்பை (type checking) முடக்கிவிடும். இது உங்கள் குறியீட்டை சாதாரண JavaScript போலச் செயல்பட வைக்கும். இதைத் தவிர்க்க முடியாத கடைசி முயற்சியாக மட்டுமே பயன்படுத்தவும்.

  2. unknown இது any-ன் பாதுகாப்பான பதிப்பாகும். மதிப்பு எதுவாகவும் இருக்கலாம் என்று இது கூறுகிறது, ஆனால் அதைப் பயன்படுத்துவதற்கு முன் நீங்கள் அதன் வகையைச் சரிபார்க்க வேண்டும்.

  3. void மதிப்பைத் திருப்பித் தராத (return செய்யாத) functions-களுக்கு இதைப் பயன்படுத்தவும்.

  4. never பிழைகளைத் தூண்டும் (throw errors) அல்லது முடிவில்லா சுழற்சிகளை (infinite loops) இயக்கும் போன்ற, ஒருபோதும் முடிவடையாத functions-களுக்கு இதைப் பயன்படுத்தவும்.

உங்கள் பணிப்பாய்விற்கான (workflow) சுருக்கம்: • பெரும்பாலான தரவுகளுக்கு primitives-ஐப் பயன்படுத்தவும். • குறியீட்டைத் தூய்மையாக வைத்திருக்க inference-ஐப் பயன்படுத்தவும். • நெகிழ்வான உள்ளீடுகளுக்கு (flexible inputs) union types-ஐப் பயன்படுத்தவும். • any-ஐத் தவிர்க்கவும். • உங்களுக்குத் தெரியாத போது any-க்கு பதிலாக unknown-ஐப் பயன்படுத்தவும்.

ஆதாரம்: https://dev.to/ramesh_s_a8f0867d239e927c/typescript-types-demystified-simple-types-special-types-and-type-inference-5bf0