<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های Mahzyar Momeni</title><link>https://virgool.ir/feed/@mahzyar.momeni</link><description></description><language>fa</language><pubDate>2026-11-11 19:49:00</pubDate><image><url>https://virgool.ir/images/default-avatar.jpg</url><title>Mahzyar Momeni</title><link>https://virgool.ir/@mahzyar.momeni</link></image><item><title>توضیح Utility Types در تایپ اسکریپت بخش دوم</title><link>https://virgool.ir/@mahzyar.momeni/توضیح-utility-types-در-تایپ-اسکریپت-بخش-دوم-jme1fyh10zgw</link><description>در پست قبلی ما تایپ های Partial,Required,Readonly,Record,Pick,Omit رو یاد گرفتیم و در ادامه‌ می‌خوایم با Utility Types های دیگه آشنا بشیم.7.Exclude&lt;Type, ExcludedUnion&gt;تایپ Exclude دو پارامتر ورودی داره اولی تایپیه که می‌خوایم تا عمل Exclude یا حذف روش انجام بشه و دومی تایپیه که بر اساس اون بر روی تایپ اولی Exclude انجام میشه.Exclude به طور ساده میاد تایپ دومی رو چک میکنه و موارد یکسانی که در تایپ اول وجود داره رو حذف می‌کنه پس Exclude به‌ صورتی عمل حذف رو انجام میده.8.Extract&lt;Type, Union&gt;تایپ extract هم از اسمش معلومه پارامتر اول تایپ رو می‌گیره و پارامتر دوم تایپی که می‌خوایم استخراج کنیم...لاین اول رو دقت کنید با a,fرو خواستیم از تایپ اول بگیریم چون f وجود نداشته فقط a برگشته.9.NonNullable&lt;Type&gt;این تایپ null و undefined رو از تایپی که بهش پاس دادیم حذف می‌کنه10.Parameters&lt;Type&gt;پارامتر اول تایپی از نوع Function می‌گیره و تایپی در قالب یک آرایه از پارامتر‌های آن رو برمیگردونه.یعنی تمامی پارامترهای آن در یک آرایهلاین 5 رو دقت کنید تابع ما پارامتر s با تایپ string داره پس ما تایپ [&#34;string&#34;] رو خواهیم داشت که به شیوه استفاده می‌شهtype T1 = Parameters&lt;(s: string) =&gt; void&gt; const myStringArray:T1=[&#39;saber&#39;]11.ConstructorParameters&lt;Type&gt;پارامتر اول این تایپ Constructor هست و آرایه‌ای از پارامتر های Constructor را بعنوان تایپ بر‌‌می‌گردونهتایپ های ErrorConstructor , FunctionConstructor , RegExpConstructor کانستراکتور تایپ‌های تایپ اسکریپت هستند و لازم به تعریف ندارنددر لاین 1 ما اومدیم یک اینترفیس کانستراکتور تعریف کردیم و در لاین 10 به تایپ ConstructorParameters پاس دادیم و خروجی ما تایپی از پارامتر های کانستراکتور در یک آرایه هست.12.ReturnType&lt;Type&gt;همونطور از اسمش معلومه که تایپ بازگشتی تایپمون رو برمی‌گردونهبه تایپ های برگشتی دقت کنیدبعنوان مثال لاین 4 خروجی void هستش پس تایپ ما تبدیل به void می‌شود.</description><category>Mahzyar Momeni</category><author>Mahzyar Momeni</author><pubDate>Tue, 21 Jun 2022 23:42:59 +0430</pubDate></item><item><title>Utility Types In TypeScript</title><link>https://virgool.ir/@mahzyar.momeni/utility-types-in-typescript-yoiua1txrdfh</link><description>گاهی وقت ها در تایپ اسکریپت , نوع خاصی از type یا interface موجود نیازمون میشه با Utility Types ها ما می‌تونیم type یا interface موجود رو به شکل خاصی تغییر بدیم میشه گفت یک instance با تغییرات و شرطهایی ازشون بسازیم.... به دلیل زیار بودن تعداد Utility Types ها اونارو در چند بخش بهتون توضیح میدم.1.Partial&lt;Type&gt;تایپ partial تایپ‌های شما رو اختیاری میکنه(optional)به صورتی که تایپ خود را به partial پاس بدید و مقدار برگشتی آن تایپ تماما optional استPartial&lt;Type&gt;به تابع updateTodo در لاین 6 دقت کنید که argument دوم آن همان تایپ ‌Todo اما از جنس Partial می‌باشد به همین خاطر در لاین 15 وقتی که تابع رو call میکنیم parameter دوم optional شده و می‌توانیم title رو پاس ندیم.2.Required&lt;Type&gt;تایپ Required همان طور از اسمش پیداست تمامی مقادیر رو اجباری میکنه دقیقا برعکس Partialهمانطور می‌بینید در لاین 8 وقتی که b رو به آبجکت اضافه نکرده‌ایم چون اینترفیس Props اجباری شده است خطا دریافت می‌کنیم.3.Readonly&lt;Type&gt;این utility Type یک اینترفیس یا تایپ را Readonly می‌کنه! یعنی وقتی به متغیری این نوع تایپ داده بشه به هیچ صورت تغییر داده نمیشه و فقط خواندنیه....در لاین 9 مقدار title تغییر داده نمی‌شه چون readonly هستش4.Record&lt;Keys,Type&gt;تایپ record میتونه دو تایپ رو با هم ترکیب کنه به صورتی که پارامتر اول key و پارامتر دوم type هستشبرای درک بهتر دو نمونه ببینیم.تایپ ‌‌Colors با Record تعریف شده و چندتا key اول گرفته بعد تایپ اونا رو دریافت کرده خروجی این تایپ همانند لاین 5 هستش.نمونه دوم:5.Pick&lt;Type, Keys&gt;تایپ pick میتونه خیلی پرکاربرد باشهاین تایپ بر اساس انتخاب شما تایپ دلخواهتان را برمیگردونه نحوه استفاده از آن به این صورته کهپارامتر اول type رو از شما می‌گیره و پارامتر دوم آن keys . که مقادیری هستند که برای شما از دل type انتخاب می‌کنه...به زبونه ساده بهش می‌گید بره از یک تایپ یک یا چندتا مقدار برداره و تایپ جدیدی رو برگردونه&#xA;در لاین 7 ما از اینترفیس Todo مقادیر title , completed رو انتخاب کرده‌ایم...در نتیجه یک تایپ جدید داریم که شامل title , completed می‌باشد6.Omit&lt;Type, Keys&gt;تایپ omit به این صورته که یک تایپ از تایپ مورد نظر به غیر از مقادیر keys به شما برمیگردونه...یعنی همه ی type به غیر از keys تقریبا شبیه pick هستش.همانطور می‌بینید مقدار description رو از انتخابمون حذف کردیم و تایپ جدیدمون فقط شاملtitle,completed,createdAt می‌باشد.امیدوارم تونسته باشم با utility تایپ ها آشناتون کنمهمانطور در مقدمه گفتم utility types در چند بخش توضیح می‌دم پس منتظر بخش‌های دیگه هم باشید.</description><category>Mahzyar Momeni</category><author>Mahzyar Momeni</author><pubDate>Fri, 17 Jun 2022 21:56:59 +0430</pubDate></item></channel></rss>