همانطور که عنوان شد به ماژولهای داخلی، فضاهای نام (namespace) گفته میشود. بنابراین از namespaceها نیز جهت مدیریت و ساماندهی پروژههای بزرگ با تعداد فایلهای زیاد استفاده میشود. در واقع یک namespace حالت سادهتری از یک ماژول است؛ یعنی برای بارگذاری آن در مرورگر نیاز به loader خاصی نیست. بنابراین در پروژههایی با مقیاس کوچکتر استفاده از namespaceها، انتخاب بهتری است. همچنین یکی از مزیتهای مهم namespace جلوگیری از شلوغ شدن global sco ...
فایلهای تعاریف نوعها (Type Definitions) امکان استفادهی سادهتر از انواع و اقسام کتابخانههای جاوا اسکریپتی موجود را فراهم میکنند. این فایلها حاوی تعاریف نوعهای استفاده شدهی در کتابخانههای جاوا اسکریپتی هستند که بر اساس TypeScript تهیه نشدهاند. حاوی هیچ نوع پیاده سازی نیستند و تنها از اینترفیسهایی تشکیل میشوند که راهنمای کامپایلر TypeScript جهت بررسی نوعها هستند و همچنین به عنوان راهنمای ادیتورهای TypeScript جهت ارائهی Intellis ...
عملگرهای تبدیل Conversion Operator
عملگرهای پرس و جوی تبدیل، توالیهایی را که از جنس <IEnumerable<T هستند، به انواع دیگر مجموعه تبدیل میکنند.
از عملگرهای پرس و جوی زیر میتوان برای تبدیل توالیها استفاده کرد : OfType Cast ToArray ToList ToDictionary
ToLookup
عملگر OfType
این عملگر عناصری از توالی را که نوع آنها را مشخص میکنیم باز میگرداند.
...
تاریخچه
تا پیش از نگارش 1.5 تایپ اسکریپت، مفاهیم internal modules و external modules وجود داشتند. جهت نامگذاری بهتر و کاهش سردرگمی در استفادهی آنها، از نگارش 1.5 به بعد، ماژولهای داخلی به namespaces (فضاهای نام) تغییر نام یافتند و ماژولهای خارجی به نام «ماژول» خلاصه شدند.
همچنین از نگارش 1.5 به بعد، پشتیبانی کاملی از نحوهی تعریف « ماژولها در ES 6 » نیز به عمل میآید. بنابراین مطالعهی آن نیز پیشنهاد میگردد. ...
تا قبل از ES 6 در جاوا اسکریپت از توابع جهت ایجاد کامپوننتهایی با قابلیت استفاده مجدد استفاده میشد. این امر برای برنامهنویسانی که با زبانهای OOP آشنایی دارند، شاید چندان خوشایند نباشد. در TypeScript نیز همانند ES 6 امکان استفاده از کلاسها مهیا است. در حالت کلی یک کلاس قالبی برای ایجاد اشیاء است. تمامی اشیاء ایجاد شده از این الگو دارای یکسری پراپرتی و متد میباشند. از پراپرتیها جهت تعریف وضعیتها و از متدها جهت تعریف رفتارها استفا ...
بعد از مدتی کار کردن با فریمورک ASP.NET MVC، شاید ایجاد یک فریمورک شخصی برپایه آن، یکی از بایدها برای شما باشد. در این راستا، نظم بخشیدن به ویوها برای جلوگیری از تکرار یکسری کد که اکثرا مورد استفاده قرار میگیرند، نجات بخش خواهد بود. به تصویر زیر که حاصل از ویو مربوط به ویرایش یک Issue است، توجه فرمایید: آیا به این نتیجه رسیدید که اصل DRY را نقض کردهایم؟ بله همین طور است. تکرار کلاسهای css مربوط به بوت استرپ، تکرار هلپرهای ...
اینترفیس، مانند قراردادی است که یک نوع را تعریف میکند. کامپایلر از اینترفیسها جهت بررسی نوعها و اجبار به رعایت قرارداد استفاده میکند. در این حالت اگر متدها یا خواص معرفی شدهی در نوع اینترفیس، توسط استفاده کننده بکار گرفته نشوند، خطایی توسط کامپایلر گزارش خواهد شد.
از آنجائیکه اینترفیسها به معنای نوعهای سفارشی هستند و جاوا اسکریپت از آنها پشتیبانی نمیکند، توسط کامپایلر TypeScript، به هیچ نوع کد معادلی در جاوا اسکریپت، ترج ...
توابع جزو ساختارهای پایهایی زبان جاوا اسکریپت هستند و از آنها جهت شبیهسازی کلاسها، کپسولهسازی اطلاعات و همچنین ایجاد ماژولها استفاده میشود. هر چند در زبان TypeScript به راحتی میتوانیم از کلاسها، فضاهای نام و ماژولها استفاده کنیم، اما هنوز هم توابع، نقشی کلیدی را در انجام کارها ایفا میکنند. نکتهی قابل توجه این است که زبان TypeScript یکسری قابلیتهای اضافهتری را به توابع استاندارد جاوا اسکریپت اضافه کرده است که در ادامه آنها را ب ...
یک Delegate نوعی اشارهگر است به توابع در سی شارپ که میتواند ارجاعی را به یک یا چند تابع بخصوص داشته باشد. منظور از توابع در سی شارپ، متدها هستند. امضای یک Delegate باید با متدی که به آن اشاره میکنید یکی باشد. using System;
using System.Windows.Forms;
namespace CSharpDelegates
{
public delegate void Display(string sMsg);
public partial class Form1 : Form
{
public Form1()
{
...