TypeScript రకాలను సులభంగా అర్థం చేసుకోవడం
TypeScript ఒక టైప్ సిస్టమ్ (type system) పై ఆధారపడి ఉంటుంది. దానిని పట్టుకోవడం మెరుగైన కోడ్ రాయడానికి మీ మొదటి అడుగు.
ప్రాథమిక రకాలు (Basic Types)
TypeScript, JavaScript ప్రిమిటివ్స్ (primitives) వంటి రకాలను ఉపయోగిస్తుంది: • string: టెక్స్ట్ కోసం. • number: అన్ని సంఖ్యల కోసం (integers మరియు floats). • boolean: true లేదా false విలువల కోసం.
టైప్ ఇన్ఫరెన్స్ (Type Inference)
మీరు ఎల్లప్పుడూ టైప్ను వ్రాయాల్సిన అవసరం లేదు. మీరు అందించే విలువ ఆధారంగా TypeScript తరచుగా టైప్ను ఊహిస్తుంది. దీనినే ఇన్ఫరెన్స్ (inference) అంటారు.
ఒక మంచి నియమం: • లోకల్ వేరియబుల్స్ (local variables) కోసం TypeScriptని టైప్లను ఇన్ఫర్ (infer) చేయనివ్వండి. • ఫంక్షన్ పారామీటర్లు (function parameters) మరియు రిటర్న్ టైప్స్ (return types) కోసం స్పష్టమైన టైప్లను వ్రాయండి.
అర్రేలు మరియు టపుల్స్ (Arrays and Tuples)
అర్రేలు (Arrays) ఒకే రకమైన బహుళ విలువలను కలిగి ఉంటాయి.
• ఉదాహరణ: let tags: string[] = ["ts", "js"];
టపుల్స్ (Tuples) అంటే నిర్ణీత పొడవు మరియు ప్రతి స్థానానికి నిర్దిష్ట రకాలు కలిగిన అర్రేలు.
• ఉదాహరణ: let user: [string, number] = ["Ramesh", 31];
యూనియన్ టైప్స్ (Union Types)
ఒక విలువ ఒకటి కంటే ఎక్కువ రకాల్లో ఉండగలిగినప్పుడు యూనియన్ టైప్స్ను ఉపయోగించండి.
• ఉదాహరణ: let id: string | number = "abc123";
ప్రత్యేక రకాలు (Special Types)
ప్రారంభ దశలో ఉన్నవారిని తరచుగా అయోమయానికి గురిచేసే నాలుగు రకాలు:
any ఇది టైప్ చెకింగ్ను నిలిపివేస్తుంది. ఇది మీ కోడ్ను సాధారణ JavaScript లాగా పనిచేసేలా చేస్తుంది. దీనిని చివరి ప్రయత్నంగా మాత్రమే ఉపయోగించండి.
unknown ఇది any యొక్క సురక్షితమైన వెర్షన్. విలువ ఏదైనా కావచ్చు అని ఇది చెబుతుంది, కానీ మీరు దానిని ఉపయోగించే ముందు టైప్ను తనిఖీ చేయాలి.
void విలువను రిటర్న్ చేయని ఫంక్షన్ల కోసం దీనిని ఉపయోగించండి.
never ఎప్పటికీ ముగియని ఫంక్షన్ల కోసం దీనిని ఉపయోగించండి, ఉదాహరణకు ఎర్రర్లను త్రో చేసేవి (throw errors) లేదా ఇన్ఫినిట్ లూప్లను (infinite loops) నడిపించేవి.
మీ వర్క్ఫ్లో కోసం సారాంశం: • ఎక్కువ డేటా కోసం ప్రిమిటివ్స్ను ఉపయోగించండి. • కోడ్ను క్లీన్గా ఉంచడానికి ఇన్ఫరెన్స్ను ఉపయోగించండి. • ఫ్లెక్సిబుల్ ఇన్పుట్ల కోసం యూనియన్ టైప్స్ను ఉపయోగించండి. • any ని నివారించండి. • మీకు ఖచ్చితంగా తెలియనప్పుడు any కి బదులుగా unknown ఉపయోగించండి.