𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗶𝗺𝗶𝘁𝗶𝘃𝗲 𝗗𝗮𝘁𝗮 𝗧𝘆𝗽𝗲𝘀
TypeScript آپ کو یہ مینیج کرنے کی اجازت دیتا ہے کہ آپ ویری ایبلز (variables) کو ڈیٹا کیسے تفویض (assign) کرتے ہیں۔ اس کے لیے آپ کے پاس دو اہم طریقے ہیں۔
Explicit assignment آپ TypeScript کو بالکل بتاتے ہیں کہ کسی ویلیو کی قسم (type) کیا ہے۔ مثال:
let str: string = "hello";Implicit assignment TypeScript ویلیو کی بنیاد پر قسم کا اندازہ لگاتا ہے۔ اسے inferred typing کہا جاتا ہے۔ مثال:
let str = "hello";
Inferred typing کے باوجود، TypeScript آپ کے کوڈ کی حفاظت کرتا ہے۔ اگر آپ کسی string کو number میں تبدیل کرنے کی کوشش کریں گے، تو TypeScript ایرر (error) دکھائے گا۔
آپ کو explicit assignment کب استعمال کرنی چاہیے؟
- جب آپ کسی ویری ایبل کو فوری طور پر بغیر کسی ویلیو کے ڈکلیئر (declare) کرتے ہیں۔
- فنکشن کے ان پٹس (inputs) اور آؤٹ پٹس (outputs) کے لیے۔
- آبجیکٹ انٹرفیسز (object interfaces) کے اندر۔
- کلاسز (classes) کے اندر۔
TypeScript پیچیدہ آبجیکٹس کے لیے duck typing استعمال کرتا ہے۔ اگر کوئی آبجیکٹ کسی مخصوص ڈھانچے (structure) سے مطابقت رکھتا ہے، تو TypeScript اسی ڈھانچے کو استعمال کرتا ہے۔ یہ آپ کو ایسی نئی پراپرٹیز (properties) شامل کرنے کی اجازت نہیں دے گا جو اصل تعریف (definition) میں موجود نہ ہوں۔
TypeScript میں JavaScript primitive types:
- number: یہ integers، decimals، hex، binary، اور scientific notation کو سپورٹ کرتا ہے۔
- bigint: بہت بڑے integers کے لیے استعمال ہوتا ہے۔
- string: حروف کا ایک تسلسل (sequence)۔
- boolean: true یا false۔
- symbol: منفرد ویلیوز (unique values) تخلیق کرتا ہے۔
- null: ایک خالی یا غیر موجود ویلیو کی نمائندگی کرتا ہے۔
- undefined: بغیر ویلیو والے ویری ایبل کے لیے ایک پلیس ہولڈر (placeholder)۔
null اور undefined کے بارے میں نوٹ: اگر آپ کوئی قسم (type) سیٹ نہیں کرتے، تو یہ ویلیوز کسی بھی ویری ایبل کو کسی بھی قسم میں تبدیل ہونے کی اجازت دیتی ہیں۔ اگر آپ واضح طور پر قسم کو null یا undefined پر سیٹ کرتے ہیں، تو ویری ایبل اسی قسم کا رہتا ہے۔
ماخذ: https://dev.to/jsha/introduction-to-typescript-javascript-primitive-data-types-49ok