𝗙𝗿𝗼𝗺 𝗭𝗲𝗿𝗼 𝘁𝗼 𝗛𝗲𝗿𝗼 𝗶𝗻 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁

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