𝗙𝗿𝗼𝗺 𝗭𝗲𝗿𝗼 𝘁𝗼 𝗛𝗲𝗿𝗼 𝗶𝗻 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁
TypeScript നിങ്ങളുടെ JavaScript കോഡിനെ കൂടുതൽ സുരക്ഷിതമാക്കുന്നു. കോഡ് പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് തന്നെ ബഗുകൾ കണ്ടെത്താൻ ഇത് നിങ്ങളെ സഹായിക്കുന്നു. അടിസ്ഥാനപരമായ കാര്യങ്ങൾ മുതൽ അഡ്വാൻസ്ഡ് ആയ ആശയങ്ങൾ വരെയുള്ള പാതയാണ് ഈ ഗൈഡ് വിവരിക്കുന്നത്.
TypeScript, JavaScript-ലേക്ക് സ്റ്റാറ്റിക് ടൈപ്പിംഗ് (static typing) ചേർക്കുന്നു. ഇത് നിങ്ങളുടെ കോഡിനെ ബ്രൗസറുകൾക്ക് ഉപയോഗിക്കാൻ കഴിയുന്ന സാധാരണ JavaScript-ലേക്ക് മാറ്റുന്നു.
അടിസ്ഥാന ടൈപ്പുകൾ (Basic Types)
- number: പൂർണ്ണസംഖ്യകൾ (integers) അല്ലെങ്കിൽ ദശാംശ സംഖ്യകൾ (decimals)
- boolean: true അല്ലെങ്കിൽ false
- string: ടെക്സ്റ്റ്
- symbol: യുണീക് ഐഡന്റിഫയറുകൾ (unique identifiers)
- bigint: വലിയ പൂർണ്ണസംഖ്യകൾ (large integers)
ടൈപ്പ് അനോട്ടേഷനുകൾ (Type Annotations)
വേരിയബിൾ നിർമ്മിക്കുമ്പോൾ തന്നെ നിങ്ങൾക്ക് ടൈപ്പുകൾ നിർവചിക്കാം:
let name: string = "Alice";
let age: number = 30;
അറേകളും ഒബ്ജക്റ്റുകളും (Arrays and Objects)
- Arrays:
let fruits: string[] = ["apple", "banana"]; - Objects:
let user: { name: string; age: number } = { name: "Bob", age: 25 };
ഫംഗ്ഷനുകൾ (Functions)
ഒരു ഫംഗ്ഷൻ എന്താണ് സ്വീകരിക്കുന്നതെന്നും (takes) എന്താണ് തിരികെ നൽകുന്നതെന്നും (returns) നിങ്ങൾക്ക് നിർവചിക്കാം. ഫംഗ്ഷൻ ഒന്നും തിരികെ നൽകുന്നില്ലെങ്കിൽ void ഉപയോഗിക്കുക.
function greet(name: string): string {
return "Hello, " + name;
}
അഡ്വാൻസ്ഡ് സ്ട്രക്ചറുകൾ (Advanced Structures)
- Type Aliases: ഒരു ടൈപ്പിന് കസ്റ്റം പേര് നൽകുന്നു.
- Interfaces: ഒരു ഒബ്ജക്റ്റിന്റെ ഘടന (shape) നിർവചിക്കുന്നു.
- Enums: പേരുള്ള കോൺസ്റ്റന്റുകളുടെ (named constants) ഒരു കൂട്ടം നിർമ്മിക്കുന്നു.
- Tuples: നിശ്ചിത എണ്ണം എലമെന്റുകളും പ്രത്യേക ടൈപ്പുകളും ഉള്ള ഒരു അറേ നിർമ്മിക്കുന്നു.
കോംപ്ലക്സ് ലോജിക് (Complex Logic)
- Union Types: ഒരു വേരിയബിളിന് ഒന്നിലധികം ടൈപ്പുകൾ ഉൾക്കൊള്ളാൻ അനുവദിക്കുന്നു.
- Intersection Types: ഒന്നിലധികം ടൈപ്പുകളെ ഒന്നായി സംയോജിപ്പിക്കുന്നു.
- Generics: പലതരം ടൈപ്പുകളുമായി പ്രവർത്തിക്കുന്ന റീയൂസബിൾ കമ്പോണന്റുകൾ നിർമ്മിക്കുന്നു.
- Utility Types: ടൈപ്പുകൾ മാറ്റുന്നതിനായി
Partialഅല്ലെങ്കിൽPickപോലുള്ള ഇൻബിൽറ്റ് ടൂളുകൾ ഉപയോഗിക്കുന്നു.
മികച്ച രീതികൾ (Best Practices)
- ലളിതമായ അലയേസിനും പ്രിമിറ്റീവിനും (primitives)
typeഉപയോഗിക്കുക. - ഒബ്ജക്റ്റ് ഘടനകൾക്കായി (object shapes)
interfaceഉപയോഗിക്കുക. anyഉപയോഗിക്കുന്നത് ഒഴിവാക്കുക. ഇത് TypeScript-ന്റെ സുരക്ഷ ഇല്ലാതാക്കുന്നു.- ടൈപ്പ് എന്താണെന്ന് ഉറപ്പില്ലാത്തപ്പോൾ
any-ക്ക് പകരംunknownഉപയോഗിക്കുക. - കോഡ് വ്യക്തമാണെങ്കിൽ ടൈപ്പുകൾ ഇൻഫർ (infer) ചെയ്യാൻ കമ്പൈലറെ അനുവദിക്കുക.
ആത്മവിശ്വാസത്തോടെ വലിയ ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാൻ TypeScript നിങ്ങളെ സഹായിക്കുന്നു.
Source: https://dev.to/miasalazar/from-zero-to-hero-in-typescript-425j