نام مستعار و اینترفیس ها (Aliases & Interfaces)
اینجا دو ابزار مهم داریم: نام مستعار نوع (Type Alias) و اینترفیس (Interface). اولی یک اسم ساده برای یک نوع می سازد. دومی شکل یک شیء را تعریف می کند. بنابراین کد تمیزتر و قابل فهم تر می شود.
نام مستعار نوع؛ شروع ساده
با type یک برچسب خوانا به نوع می دهیم. سپس استفاده راحت تر می شود.
type CarYear = number;
type CarType = string;
type CarModel = string;
type Car = {
year: CarYear,
type: CarType,
model: CarModel
};
const carYear: CarYear = 2001;
const carType: CarType = "Toyota";
const carModel: CarModel = "Corolla";
const car: Car = {
year: carYear,
type: carType,
model: carModel
};
اتحادی و اشتراکی؛ ترکیب انواع
اتحادی (Union) یعنی «این یا آن». اشتراکی (Intersection) یعنی «هر دو باهم».
type Animal = { name: string };
type Bear = Animal & { honey: boolean };
const bear: Bear = { name: "Winnie", honey: true };
type Status = "success" | "error";
let response: Status = "success";
اینترفیس ها؛ شکل دهی به شیء
اینترفیس فقط برای شیء است. یعنی ویژگی ها و نوعشان را مشخص می کند.
interface Rectangle {
height: number,
width: number
}
const rectangle: Rectangle = {
height: 20,
width: 10
};
ادغام اعلان؛ گسترش خودکار
اعلان ادغام یعنی چند تعریف هم نام یکی می شوند. این قابلیت مخصوص اینترفیس است.
interface Animal {
name: string;
}
interface Animal {
age: number;
}
const dog: Animal = {
name: "Fido",
age: 5
};
ارث بری اینترفیس ها
یک اینترفیس می تواند دیگری را گسترش دهد. سپس ویژگی های جدید اضافه می شود.
interface Rectangle {
height: number,
width: number
}
interface ColoredRectangle extends Rectangle {
color: string
}
const coloredRectangle: ColoredRectangle = {
height: 20,
width: 10,
color: "red"
};
تفاوت ها و توصیه ها
توصیه: برای شیء از interface استفاده کن. برای یونیون، پرایمیتیو و ترکیب ها از type کمک بگیر. اعلان ادغام فقط برای اینترفیس فعال است.
گام های عملی
- برای شکل شیء، یک اینترفیس بساز.
- برای یونیون یا اشتراک، از نام مستعار نوع استفاده کن.
- اگر API عمومی داری، اینترفیس شفاف بنویس.
برای ادامه، سراغ انواع اتحادی برو. همچنین، صفحه نام مستعار و اینترفیس ها را نشانه گذاری کن.
جمع بندی سریع
- نام مستعار، اسم کوتاه برای نوع است.
- اینترفیس، شکل دقیق شیء را می دهد.
- اعلان ادغام فقط برای اینترفیس است.
- یونیون و اشتراک با
typeساخته می شود.