𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗶𝗺𝗶𝘁𝗶𝘃𝗲 𝗗𝗮𝘁𝗮 𝗧𝘆𝗽𝗲𝘀
വേരിയബിളുകളിലേക്ക് ഡാറ്റ എങ്ങനെ നൽകണമെന്ന് നിയന്ത്രിക്കാൻ TypeScript നിങ്ങളെ അനുവദിക്കുന്നു. ഇതിനായി പ്രധാനമായും രണ്ട് വഴികളുണ്ട്.
Explicit assignment ഒരു വാല്യൂ ഏത് ടൈപ്പ് ആണെന്ന് നിങ്ങൾ TypeScript-നോട് കൃത്യമായി പറയുന്നു. ഉദാഹരണം:
let str: string = "hello";Implicit assignment വാല്യൂ അടിസ്ഥാനമാക്കി TypeScript ടൈപ്പ് ഊഹിച്ചെടുക്കുന്നു. ഇതിനെ inferred typing എന്ന് വിളിക്കുന്നു. ഉദാഹരണം:
let str = "hello";
Inferred typing ഉപയോഗിക്കുമ്പോഴും TypeScript നിങ്ങളുടെ കോഡിനെ സംരക്ഷിക്കുന്നു. ഒരു string-നെ number ആക്കി മാറ്റാൻ നിങ്ങൾ ശ്രമിച്ചാൽ, TypeScript ഒരു error കാണിക്കും.
എപ്പോഴാണ് explicit assignment ഉപയോഗിക്കേണ്ടത്?
- ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കുമ്പോൾ ഉടൻ തന്നെ അതിന് ഒരു വാല്യൂ നൽകുന്നില്ലെങ്കിൽ.
- ഫംഗ്ഷൻ ഇൻപുട്ടുകൾക്കും ഔട്ട്പുട്ടുകൾക്കും വേണ്ടി.
- ഒബ്ജക്റ്റ് ഇന്റർഫേസുകൾക്കുള്ളിൽ (object interfaces).
- ക്ലാസുകൾക്കുള്ളിൽ (classes).
സങ്കീർണ്ണമായ ഒബ്ജക്റ്റുകൾക്കായി TypeScript 'duck typing' ഉപയോഗിക്കുന്നു. ഒരു ഒബ്ജക്റ്റ് ഒരു പ്രത്യേക ഘടനയുമായി (structure) പൊരുത്തപ്പെടുന്നുണ്ടെങ്കിൽ, TypeScript ആ ഘടന ഉപയോഗിക്കുന്നു. യഥാർത്ഥ നിർവചനത്തിൽ ഇല്ലാത്ത പുതിയ പ്രോപ്പർട്ടികൾ ചേർക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കില്ല.
TypeScript-ലെ JavaScript പ്രിമിറ്റീവ് ടൈപ്പുകൾ:
- number: പൂർണ്ണസംഖ്യകൾ (integers), ദശാംശ സംഖ്യകൾ (decimals), hex, binary, കൂടാതെ scientific notation എന്നിവയെ പിന്തുണയ്ക്കുന്നു.
- bigint: വളരെ വലിയ പൂർണ്ണസംഖ്യകൾക്കായി ഉപയോഗിക്കുന്നു.
- string: അക്ഷരങ്ങളുടെ ഒരു ശ്രേണി.
- boolean: true അല്ലെങ്കിൽ false.
- symbol: സവിശേഷമായ (unique) വാല്യൂകൾ നിർമ്മിക്കുന്നു.
- null: ശൂന്യമായതോ നിലവിലില്ലാത്തതോ ആയ ഒരു വാല്യൂവിനെ സൂചിപ്പിക്കുന്നു.
- undefined: വാല്യൂ ഇല്ലാത്ത ഒരു വേരിയബിളിനായുള്ള ഒരു പ്ലേസ്ഹോൾഡർ.
null, undefined എന്നിവയെക്കുറിച്ചുള്ള കുറിപ്പ്: നിങ്ങൾ ഒരു ടൈപ്പ് നിശ്ചയിക്കുന്നില്ലെങ്കിൽ, ഈ വാല്യൂകൾ ഒരു വേരിയബിളിനെ ഏത് ടൈപ്പിലേക്കും മാറ്റാൻ അനുവദിക്കുന്നു. നിങ്ങൾ ടൈപ്പ് കൃത്യമായി null അല്ലെങ്കിൽ undefined എന്ന് നിശ്ചയിച്ചാൽ, വേരിയബിൾ ആ ടൈപ്പിൽ തന്നെ തുടരും.
Source: https://dev.to/jsha/introduction-to-typescript-javascript-primitive-data-types-49ok