TypeScript જીતી ગયું. તેનાથી આપણને શું મળ્યું છે.
ચર્ચા હવે પૂરી થઈ ગઈ છે. મોટાભાગના નવા ફ્રન્ટએન્ડ પ્રોજેક્ટ્સ ડિફોલ્ટ તરીકે TypeScript નો ઉપયોગ કરે છે. લોકો હવે તેને અપનાવવું કે નહીં તે વિશે દલીલો કરતા નથી.
સાચું મૂલ્ય માત્ર ટાઈપો (typos) પકડવા પૂરતું નથી. તે મૂળ વિચાર કરતાં ઘણું ઊંડું છે.
Types એવી ડોક્યુમેન્ટેશન પૂરી પાડે છે જે ક્યારેય જૂની (stale) પડતી નથી. એક function signature તમને ચોક્કસપણે જણાવે છે કે કોડના એક ભાગને શેની જરૂર છે અને તે શું રિટર્ન કરે છે. જો કોઈ ડેવલપર union type માં નવો વિકલ્પ ઉમેરે છે, તો compiler તમને તમારા કોડના દરેક ભાગને અપડેટ કરવા માટે મજબૂર કરે છે. કોમેન્ટ્સ સમય જતાં બગડી જાય છે. Types નહીં.
Refactoring હવે ડરામણી કામગીરીમાંથી એક સુરક્ષિત કામગીરીમાં બદલાઈ ગયું છે. Untyped કોડમાં, કોઈ ફિલ્ડનું નામ બદલવું એ જુગાર જેવું લાગે છે. TypeScript માં, તમે type બદલો છો અને compiler તમને દરેક બગડેલી લાઇનનું લિસ્ટ આપે છે. આ જૂના કોડને સ્પર્શવાનો ડર દૂર કરે છે.
Types તમારા AI સાથેના કામમાં પણ સુધારો કરે છે.
જ્યારે તમે AI ને untyped JavaScript એડિટ કરવા માટે કહો છો, ત્યારે તે સ્ટ્રક્ચરનો અંદાજ લગાવે છે. તે એવી ભૂલો કરે છે જેનાથી production errors આવી શકે છે. TypeScript માં, type એક specification તરીકે કામ કરે છે. AI નિયમો જાણે છે. જો AI ભૂલ કરે છે, તો compiler તેને તરત જ પકડી લે છે. Types "plausible code" ને "proven code" માં ફેરવે છે.
Types તમને ધીમા પાડતા નથી. AI workflow માં, તેઓ તમારી ઝડપ વધારે છે. તેઓ guardrails તરીકે કામ કરે છે જેથી તમે દરેક લાઇન મેન્યુઅલી ચેક કર્યા વગર જનરેટ થયેલા કોડ પર વિશ્વાસ કરી શકો.
તમારા types હેતુપૂર્વક લખો:
• મલ્ટિપલ booleans ને બદલે unions નો ઉપયોગ કરો. "loading" | "error" | "ready" જેવી સ્ટેટસ અશક્ય સ્ટેટ્સ (impossible states) ને અટકાવે છે. • તમારા domain types ને નામ આપો. "type Cents = number" નો ઉપયોગ કરવાથી તમારો હેતુ સ્પષ્ટ થાય છે. • "any" થી બચો. તેના બદલે "unknown" નો ઉપયોગ કરો અને તમારા types ને narrow કરો. "any" તમારા સેફ્ટી નેટને નષ્ટ કરે છે. • inference ને કામ કરવા દો. તમારે બધું જ લેબલ કરવાની જરૂર નથી. તમારા function signatures અને exported APIs ને લેબલ કરો, અને પછી બાકીનું બધું આપમેળે થવા દો.
TypeScript એ codebases ને enforced contracts ના સેટમાં ફેરવી દીધા છે. આ contracts ડર વગરનું refactoring અને વિશ્વસનીય AI સહાય સક્ષમ બનાવે છે.
અમે બગ્સ રોકવા માટે types નો ઉપયોગ કરવાનું શરૂ કર્યું હતું. અમે તેનો ઉપયોગ ચાલુ રાખીએ છીએ કારણ કે તે બાકીની તમામ બાબતો માટે પાયો છે.
Source: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-12m8
