Skip to content

تایپ‌های کاربردی TypeScript توضیح داده شده

تایپ‌های کاربردی داخلی TypeScript و کلیدواژه‌هایی که همراهشان می‌آیند، گروه‌بندی‌شده بر اساس کار: شکل‌دادن دوباره به یک شیء، فیلترکردن یک یونیون، توصیف یک تابع، تبدیل یک رشتهٔ لفظی و گرفتن تایپ از مقادیر. هر ردیف تایپ و یک نام‌گردانی واقعی را که می‌نویسید نشان می‌دهد.

تایپ‌های کاربردی، توابع جنریک برای تایپ‌ها هستند: یک یا دو تایپ می‌گیرند و تایپی جدید برمی‌گردانند، تا لازم نباشد هر شکل را دستی بنویسید. در تایپ‌های مشتق‌شده می‌درخشند، جایی که منبع حقیقت تایپی دیگر یا یک مقدار است و می‌خواهید تایپ‌هایتان خودکار آن را دنبال کنند. قاعدهٔ سرانگشتی: مشتق‌گیری به جای تکثیر — اگر منبع را تغییر دهید، تایپ مشتق‌شده همراهش می‌رود.

جدول مرجع · 22 مورد
22 of 22 rows
شکل شیء
T با اختیاری‌شدن همهٔ پروپرتی‌ها.type Update = Partial<User>
T با اجباری‌شدن همهٔ پروپرتی‌ها.type Strict = Required<Opts>
T با readonly شدن همهٔ پروپرتی‌ها.type Frozen = Readonly<User>
T با نگه‌داشتن فقط کلیدهای K.type Preview = Pick<User, "id" | "name">
T با حذف کلیدهای K.type SafeUser = Omit<User, "password">
شیئی که کلیدهایش K و مقادیرش V است.type Scores = Record<string, number>
فیلترکردن یونیون
یونیون U بدون اعضای قابل‌انتساب به X.type NoNull = Exclude<T, null>
اعضای U که به X قابل‌انتساب‌اند.type OnlyStr = Extract<T, string>
T بدون null و undefined.type Def = NonNullable<T>
تایپ‌های تابع
یک tuple از تایپ‌های پارامترهای تابع F.type P = Parameters<typeof fn>
تایپی که تابع F برمی‌گرداند.type R = ReturnType<typeof fn>
یک tuple از تایپ‌های پارامترهای سازندهٔ F.type C = ConstructorParameters<typeof Date>
تایپ نمونه‌ای که سازندهٔ F می‌سازد.type D = InstanceType<typeof Date>
تایپی که یک Promise به آن resolve می‌شود، به‌صورت بازگشتی.type Data = Awaited<Promise<User>>
تبدیل‌های رشتهٔ لفظی
رشتهٔ لفظی S با حروف بزرگ.type A = Uppercase<"abc"> // "ABC"
رشتهٔ لفظی S با حروف کوچک.type B = Lowercase<"ABC"> // "abc"
S با بزرگ‌شدن نویسهٔ اول.type C = Capitalize<"abc"> // "Abc"
S با کوچک‌شدن نویسهٔ اول.type D = Uncapitalize<"Abc"> // "aBc"
کلیدواژه‌های مرتبط
یونیونی از کلیدهای پروپرتی‌های تایپ شیء T.type K = keyof User
تایپ یک مقدار، بدون نوشتن دوبارهٔ آن.type Config = typeof defaults
گرفتن یک تایپ درون یک تایپ شرطی برای استفادهٔ مجدد.type El<T> = T extends Array<infer I> ? I : never
انتخاب تایپ X یا Y بسته به قابل‌انتساب‌بودن T به U.type IsStr<T> = T extends string ? true : false