در پست قبلی ما تایپ های Partial,Required,Readonly,Record,Pick,Omit رو یاد گرفتیم و در ادامه میخوایم با Utility Types های دیگه آشنا بشیم.
تایپ Exclude دو پارامتر ورودی داره اولی تایپیه که میخوایم تا عمل Exclude یا حذف روش انجام بشه و دومی تایپیه که بر اساس اون بر روی تایپ اولی Exclude انجام میشه.
Exclude به طور ساده میاد تایپ دومی رو چک میکنه و موارد یکسانی که در تایپ اول وجود داره رو حذف میکنه پس Exclude به صورتی عمل حذف رو انجام میده
تایپ extract هم از اسمش معلومه پارامتر اول تایپ رو میگیره و پارامتر دوم تایپی که میخوایم استخراج کنیم...
لاین اول رو دقت کنید با a,fرو خواستیم از تایپ اول بگیریم چون f وجود نداشته فقط a برگشته.
این تایپ null و undefined رو از تایپی که بهش پاس دادیم حذف میکنه
پارامتر اول تایپی از نوع Function میگیره و تایپی در قالب یک آرایه از پارامترهای آن رو برمیگردونه.
یعنی تمامی پارامترهای آن در یک آرایه
لاین 5 رو دقت کنید تابع ما پارامتر s با تایپ string داره پس ما تایپ ["string"] رو خواهیم داشت که به شیوه استفاده میشه
type T1 = Parameters<(s: string) => void> const myStringArray:T1=['saber']
پارامتر اول این تایپ Constructor هست و آرایهای از پارامتر های Constructor را بعنوان تایپ برمیگردونه
تایپ های ErrorConstructor , FunctionConstructor , RegExpConstructor کانستراکتور تایپهای تایپ اسکریپت هستند و لازم به تعریف ندارند
در لاین 1 ما اومدیم یک اینترفیس کانستراکتور تعریف کردیم و در لاین 10 به تایپ ConstructorParameters پاس دادیم و خروجی ما تایپی از پارامتر های کانستراکتور در یک آرایه هست.
همونطور از اسمش معلومه که تایپ بازگشتی تایپمون رو برمیگردونه
به تایپ های برگشتی دقت کنید
بعنوان مثال لاین 4 خروجی void هستش پس تایپ ما تبدیل به void میشود.
پایان بخش دوم :)
برای اینکه حجم مطلب زیاد نشه و خستهتون نکنه بخش سوم و نهایی هم بهزودی مینویسم که در اون قراره utility type های زیر رو توضیح بدم
ممنونم که وقت گذاشتید و مطلب رو خوندید انتقاد یا اشکالی در نوشتههام دیدید خوشحال میشم که در نظرات بگید.