🚀 دليلك الشامل لفهم الأنواع البسيطة Simple Types في TypeScript

بعد أن تعرفنا على ماهية لغة TypeScript، حان الوقت لندخل في صلب الموضوع.

في لغة JavaScript العادية، يمكنك وضع أي قيمة داخل المتغير (نص، رقم، أو قيمة منطقية) وتغييرها في أي وقت، وهذا قد يؤدي أحياناً إلى أخطاء برمجية محيرة. هنا يأتي دور TypeScript لتعطينا ميزة "تحديد الأنواع" (Type Annotation)، والتي تضمن أن المتغير سيحتفظ بنوع بيانات محدد لا يتغير.

لنبدأ باستكشاف الأنواع البسيطة الأساسية التي ستستخدمها في 90% من عملك اليومي. 👇


1️⃣ النوع النصي (String) ✍️

يُستخدم النوع string عندما نريد التعامل مع النصوص. النص في TypeScript هو أي مجموعة من الحروف أو الرموز المحاطة بعلامات تنصيص فردية ' ' أو مزدوجة " " أو علامات الـ Backticks `.

كيف نكتبه؟ نقوم بكتابة اسم المتغير، ثم نضع نقطتين رأسيتين : ، ثم نكتب كلمة string.

// Declaring a variable for a user's name
let userName: string = "Ahmed"; 

// Declaring a variable for a city
let city: string = 'Cairo';

console.log(userName); // Output: Ahmed

💡 ملاحظة: إذا حاولت وضع رقم داخل متغير من نوع string في TypeScript، سيظهر لك الخطأ فوراً قبل تشغيل الكود!


2️⃣ النوع الرقمي (Number) 🔢

سواء كنت تتعامل مع أرقام صحيحة (مثل 10) أو أرقام عشرية (مثل 15.5)، فإن TypeScript توفر نوعاً واحداً فقط لجميع هذه الحالات وهو number.

كيف نكتبه؟

// Declaring a variable for age
let userAge: number = 25; 

// Declaring a variable for price with decimals
let productPrice: number = 99.99;

console.log(userAge); // Output: 25

بساطة هذا النوع تكمن في أنه لا يفرق بين الرقم الصحيح (Integer) والرقم العشري (Float)، كلاهما number. 🎯


3️⃣ النوع المنطقي (Boolean) ✅❌

النوع boolean هو أبسط أنواع البيانات، فهو لا يحتمل إلا قيمتين فقط: إما صواب (true) أو خطأ (false). يُستخدم هذا النوع بكثرة في الشروط واتخاذ القرارات داخل الكود.

كيف نكتبه؟

// Checking if the user is logged in
let isLoggedIn: boolean = true;

// Checking if the product is out of stock
let isOutOfStock: boolean = false;

console.log(isLoggedIn); // Output: true

🛠️ تمرين عملي: لنجمع كل ما تعلمناه!

تخيل أننا نقوم ببناء ملف تعريف بسيط لمستخدم في تطبيقنا. سنستخدم الأنواع الثلاثة التي تعلمناها معاً في كود واحد بسيط:

// User Profile Data
let firstName: string = "Sami";    // Text data
let age: number = 30;              // Numeric data
let hasSubscription: boolean = true; // Logic data

// Printing the user info
console.log("Name: " + firstName);
console.log("Age: " + age);
console.log("Active Subscription: " + hasSubscription);

💡 نصيحة سريعة

قد تلاحظ أن TypeScript أحياناً تفهم نوع المتغير تلقائياً حتى لو لم تكتبه (وهذا ما يسمى بـ Type Inference)، ولكن كمبتدئ، نحن ننصحك بكتابة النوع صراحةً (مثل : string) لتعويد نفسك على دقة التحديد وفهم كيف تتدفق البيانات في برنامجك. 🌟