تایپهای کاربردی داخلی TypeScript و کلیدواژههایی که همراهشان میآیند، گروهبندیشده بر اساس کار: شکلدادن دوباره به یک شیء، فیلترکردن یک یونیون، توصیف یک تابع، تبدیل یک رشتهٔ لفظی و گرفتن تایپ از مقادیر. هر ردیف تایپ و یک نامگردانی واقعی را که مینویسید نشان میدهد.
تایپهای کاربردی، توابع جنریک برای تایپها هستند: یک یا دو تایپ میگیرند و تایپی جدید برمیگردانند، تا لازم نباشد هر شکل را دستی بنویسید. در تایپهای مشتقشده میدرخشند، جایی که منبع حقیقت تایپی دیگر یا یک مقدار است و میخواهید تایپهایتان خودکار آن را دنبال کنند. قاعدهٔ سرانگشتی: مشتقگیری به جای تکثیر — اگر منبع را تغییر دهید، تایپ مشتقشده همراهش میرود.
جدول مرجع · 22 مورد
تایپهای کاربردی TypeScriptExplained
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.