TypeScript 6.0 వచ్చేసింది

TypeScript 6.0 ఒక ముఖ్యమైన మైలురాయి. ఇది JavaScript codebase పై ఆధారపడి రూపొందించబడిన చివరి వెర్షన్. తదుపరి వెర్షన్, 7.0, Go-ఆధారిత కంపైలర్‌కు మారుతుంది.

ఈ మార్పు మీ ప్రాజెక్ట్‌కు చాలా కీలకం. మీరు అప్‌గ్రేడ్ చేయడానికి మరీ ఎక్కువ సమయం తీసుకుంటే, వరుసగా రెండు మైగ్రేషన్లను ఎదుర్కోవాల్సి వస్తుంది.

మీరు ఉపయోగించాల్సిన కొత్త ఫీచర్లు

using కీవర్డ్: ఇది డేటాబేస్ కనెక్షన్‌లు లేదా ఫైల్ హ్యాండిల్స్ వంటి రిసోర్స్‌లను నిర్వహిస్తుంది. ఇది మెమరీని ఆటోమేటిక్‌గా క్లీన్ చేస్తుంది. లీక్‌లను నివారించడానికి మీకు ఇకపై అదనపు finally బ్లాక్‌ల అవసరం లేదు.

• మెరుగైన మెథడ్ ఇన్ఫరెన్స్ (method inference): ఫ్లూయెంట్ APIల (fluent APIs) కోసం మీరు ప్రత్యేకంగా టైప్ అనోటేషన్లను (type annotations) రాయాల్సిన అవసరం లేదు. TypeScript ఇప్పుడు మీ కోసం కాంటెక్స్ట్‌ను నిర్వహిస్తుంది.

• Variadic tuple మెరుగుదలలు: మీరు ఇప్పుడు టపుల్‌లో (tuple) ఏ స్థానంలోనైనా టైప్‌లను స్ప్రెడ్ (spread) చేయవచ్చు. ఇది సంక్లిష్టమైన ఫంక్షన్ ప్యాటర్న్‌లను రాయడాన్ని చాలా సులభతరం చేస్తుంది.

పనితీరు మెరుగుదలలు

ఈ కొత్త వెర్షన్ వేగంగా ఉంటుంది. పెద్ద ప్రాజెక్ట్‌లలో రీబిల్డ్‌లు 40% వరకు వేగంగా జరుగుతాయి. కంపైలర్ ఇప్పుడు మరింత తెలివైన డిపెండెన్సీ ట్రాకింగ్‌ను ఉపయోగిస్తుంది. ఇది కేవలం ఫంక్షన్ బాడీ మారినప్పుడు మాత్రమే కాకుండా, సిగ్నేచర్ (signature) మారినప్పుడు మాత్రమే రీకంపైల్ చేస్తుంది.

గమనించాల్సిన బ్రేకింగ్ చేంజ్స్ (Breaking Changes)

• Namespace merging: క్లాస్‌లతో నేమ్‌స్పేస్‌లను మెర్జ్ చేసేటప్పుడు మీరు ఖచ్చితంగా ఎక్స్‌ప్లిసిట్ ఎక్స్‌పోర్ట్‌లను (explicit exports) ఉపయోగించాలి.

• కఠినమైన ఇండెక్స్ సిగ్నేచర్‌లు (Stricter index signatures): మీరు ఇకపై ఆబ్జెక్ట్‌లోని ఏదో ఒక ప్రాపర్టీని నేరుగా యాక్సెస్ చేయలేరు. ఒక ప్రాపర్టీ లేనప్పటికీ అది ఉందని అనుకోవడం వల్ల వచ్చే బగ్‌లను ఇది నివారిస్తుంది.

• స్ట్రిక్ట్ మోడ్ డీఫాల్ట్‌లు: noUncheckedIndexedAccess ఫ్లాగ్ ఇప్పుడు డీఫాల్ట్‌గా ఆన్‌లో ఉంటుంది. అర్రే ఎలిమెంట్స్ null లేదా undefined అవుతున్నాయో లేదో మీరు తప్పనిసరిగా తనిఖీ చేయాలి.

మైగ్రేషన్ వ్యూహం

చాలా ఎర్రర్‌లు కనిపిస్తే కంగారు పడకండి. ఈ దశలను అనుసరించండి:

  1. మొదట అన్ని ఎర్రర్‌లను చూడటానికి noEmit ఫ్లాగ్‌తో కంపైలర్‌ను రన్ చేయండి.
  2. ఇండెక్స్ సిగ్నేచర్‌లు మరియు నల్ చెక్‌లను ఆటోమేటిక్‌గా సరిచేయడానికి అధికారిక కోడ్‌మోడ్స్ (codemods) ఉపయోగించండి.
  3. నేమ్‌స్పేస్ సమస్యలను మాన్యువల్‌గా సరిచేయండి.
  4. మీ node_modules తనిఖీ చేయండి. కొన్ని లైబ్రరీలు ఇంకా 6.0కి సపోర్ట్ చేయకపోవచ్చు.

7.0లో Go కంపైలర్‌కు మారడం వల్ల టైప్ చెకింగ్ 10 రెట్లు వేగంగా జరుగుతుంది. మీ కోడ్‌బేస్‌ను భవిష్యత్తు కోసం సిద్ధం చేయడానికి ఇప్పుడే 6.0కి మారడం ప్రారంభించండి.

Source: https://dev.to/jsmanifest/typescript-60-released-the-last-javascript-based-version-new-features-breaking-changes-and-48a0