در قسمت قبلی با منطق Typing درTypeScript آشنا شدیم . در این قسمت به بررسی نوعهای استاندارد در TypeScript خواهیم پرداخت.
بسمه تعالی
TypeScript - قسمت پنجم
در قسمت قبلی با منطق Typing درTypeScript آشنا شدیم . در این قسمت به بررسی نوعهای استاندارد در TypeScript خواهیم پرداخت.
برای شروع ، همان پروژه قبلی را باز کنید ، چرا که فعلن اکثر تعاریف را در همان پروژه میتوان انجام داد.
در ابتدا به بررسی نوعهای اولیه در TypeScript خواهیم پرداخت .
سه نوع اصلی و اولیه در TypeScript وجود دارد .
1- Number
2- String
3- Boolean
به مثال زیر دقت کنید .
در تصویر بالا ، یک متغیر از نوع Number ، یکی از نوع String و یکی از نوع Boolean تعریف شده است . حال به ترتیب مقدار دهیهای درست و غلط را مشاهده میکنید . متغیرهایی که زیر خط قرمز دارند ، در مقدار دهی با خطا روبرو شده اند . در num شما نمی توانید رشته و در str نمیتوان عدد و در bool هم نمیتوان رشته ذخیره کرد . این همان سخت گیری است که در javascript وجود نداشت و خیلی جاها سبب دردسر و بروز خطا میگشت .
یکی دیگر از انواع رایج و مورد نیاز در TypeScript ، آرایه ها میباشند . طریقه تعریف یک آرایه به شکل زیر است .
حال مقدار دهی به مثلا عضو اول آرایه به شکل زیر است .
پس تعریف یک آرایه به صورت
Var ArrayName : Type[] ;
خواهد بود .
برای String Array هم میتوان به شکل زیر عمل نمود .
این عملن یک Generic Syntax میباشد . حال مثلن میتوان به شکل زیر درون آن مقدار وارد نمود .
همانطور که میبینید در یک String Array دیگر نمی توان مقدار عددی وارد نمود ، ولی حالت اول که یک String است ، به درستی انجام خواهد شد .
یکی دیگر از انواع جالبی که در TypeScript وجود دارد ، نوع Any است که از طریق آن میتوان مقداری را برای متغیر در نظر گرفت . به عنوان مثال :
همانطور که مشاهده میکنید، ذخیره سازی هر مقداری در یک متغیر Any امکان پذیر است . حال به تصویر زیر دقت کنید ، نوع Any با دیگر انواع هم قابل اختلاط میباشد .
حتی نوع Any را میتوان در آرایه ها هم بکار برد .
نوع دیگری که در TypeScript وجود دارد و به تازگی در C#.NET 7 قرار داده شده ، نوع Tuple می باشد . در عمل Tuple ها یک نوع Array با قابلیت ذخیره سازی انواع مختلف را دارند . به مثالهای زیر دقت کنید .
در تصویر بالا ، ابتدا یک متغیر نوع Tuple تعریف کردیم و سپس در حالت اول به آن مقادیر Ali که یک رشته است و یک عدد را اختصاص دادیم. همه چیز مرتب و صحیح است. حالت دوم ، نوعهای تعریف شده در Tuple را رعایت نکرده و با خطا روبرو شده است .
رویکرد Tuple ها در TypeScript بیشتر شبیه به Class هاست تا یک آرایه ساده . به تصویر زیر دقت کنید .
در اینجا یک Tuple جدید در خط سوم برای ما ایجاد خواهد شد و قاعدتا وضعیت یک متغیر String در ابتدا و یک عدد به عنوان متغیر دوم خواهد داشت.
حال به بررسی چگونگی تعریف Enumeration در TypeScript خواهیم پرداخت .
همانطور که میدانید ، هدف از تعریف Enum ، در اصل ایجاد یک Collection از مقادیر مرتبط به هم میباشد . در همه زبانهای Server Side این قابلیت وجود دارد ، ولی در JavaScript چنین چیزی نداریم . حال این مشکل در TypeScript به خوبی حل شده است .
در تصویر زیر لیستی از شهرها ایجاد و بعد متغیری برای تایین پایتخت را با آن مقدار دهی نموده ایم.
برای استفاده یا مقدار دهی مقادیر Enum میتوان از عدد و شماره ترتیب آنها استفاده نمود . به مثال زیر دقت کنید .
در اینجا مقدار 0 و Red با هم برابرند ، چرا که Red آیتم اول این Enum میباشد.
حال به بررسی چگونگی یک Tristate توسط یک Enum میپردازیم.
یک TriState تعریف شده و با دستور Console.log مقدار 0 یا false که هر دو یکی هستند در خروجی چاپ شده است. دستور سوم هم همان مقدار 0 را باز خواهد گرداند .
اگر بخواهید سیستم ترتیب عددی enum ها به صورت دلخواه منظم کنید ، می توانید مانند زیر عمل کنید .
در حالت اول به صورت طبیعی ترتیب مقادیر از 0 است ، ولی در حالت دوم ، با اختصاص مقدار 3 به آیتم اول ، به صورت اتوماتیک مقادیر بعدی هم به 4 و5 ، تبدیل شده است.
در قسمت بعدی به بررسی ادامه مفاهیم پایه در TypeScript پرداخته و کم کم به سراغ تعریف Class و استانداردهای آن خواهیم رفت .