وصف شكل كائن
نستخدم interface لتحديد الخصائص التي يجب أن يحتويها الكائن:
interface User {
name: string;
age: number;
isActive: boolean;
}
const user: User = {
name: "براء",
age: 25,
isActive: true,
};
الآن أي كائن من نوع User يجب أن يطابق هذا الشكل تمامًا.
الخصائص الاختيارية
interface Product {
title: string;
price: number;
discount?: number; // اختيارية
}
const item: Product = { title: "كتاب", price: 50 }; // ✅
interface مقابل type
كلاهما يصف الأشكال؛ type أكثر مرونة:
type ID = string | number;
type Point = {
x: number;
y: number;
};
💡 القاعدة العملية: استخدم
interfaceللكائنات، وtypeللأنواع المركّبة مثل الاتحادات (unions).
واجهات في الدوال
function printUser(user: User): void {
console.log(`${user.name} - ${user.age}`);
}
🎯 التالي: الأنواع المتقدّمة — Union و Literal.