آموزش دوره کامل TypeScript - مبتدی تا پیشرفته + پروژه

TypeScript Complete Course - Beginner To Advanced + Project

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: TypeScript را عمیق یاد بگیرید و همچنین با استفاده از TypeScript با React، Material UI، Node و TypeORM یک برنامه تمام پشته بسازید. TypeScript را از ابتدا بیاموزید، از ایمنی نوع اولیه و انواع ارائه شده توسط TypeScript گرفته تا ویژگی های پیشرفته OOP. به ویژگی های برنامه نویسی شی گرا که توسط TypeScript ارائه می شود، عمیق باشید. شامل سخنرانی‌هایی درباره کلاس‌ها، کلاس‌های انتزاعی، اصلاح‌کننده‌های دسترسی و رابط‌ها است. ویژگی های پیشرفته TypeScript مانند Generics، Decorators، Totality، Type Widening، Mapped Types، Conditional Types و غیره را درک کنید. با استفاده از TypeScript یک برنامه کامل پشته ایجاد کنید و یاد بگیرید که چگونه از TypeScript با فناوری هایی مانند React، Material UI، Tanstack Query، NodeJs، TypeORM استفاده از TypeScript با فریم ورک های فرانت اند مانند React JS، Tanstack/React Query، Context API و Material UI استفاده از TypeScript برای توسعه Back-end با استفاده از NodeJS، Express، TypeORM و MySQL پیش نیازها: دانش پایه جاوا اسکریپت. لازم نیست متخصص باشید. هیچ دانش قبلی TypeScript مورد نیاز نیست. در این دوره آموزشی TypeScript را از ابتدا یاد خواهید گرفت.

تنها دوره کامل TypeScript در بازار است که به شما کمک می کند تا مانند یک حرفه ای برنامه های TypeScript بسازید.

این تنها دوره کامل در مورد TypeScript در بازار است. من علاوه بر اینکه اطلاعات کامل و عمیقی در مورد TypeScript به شما می دهم، نحوه استفاده از TypeScript را در ارتباط با سایر فناوری ها مانند ReactJS، Material UI، Tanstack Query/React Query، NodeJs، Express، TypeORM و MySQL نیز به شما آموزش می دهم. این مهم است زیرا هنگام توسعه یک پروژه، در بیشتر موارد، از TypeScript به صورت مجزا استفاده نمی کنید.

این دوره شامل 240+ ویدئو است که در مجموع شامل بیش از 19 ساعت محتوا است. من جدیدترین ویژگی‌های TypeScript را به روشی بسیار کاربردی به شما آموزش می‌دهم و دانش عمیقی را که برای تسلط بر TypeScript نیاز دارید به شما می‌دهم.

وقتی بخش نظری TypeScript را به پایان رساندیم و ماهیت زبان را درک کردیم، شروع به ساخت یک برنامه کامل پشته می کنیم. ما یک برنامه مدیریت کار می سازیم که در آن می توانید یک کار جدید ایجاد کنید و اولویت و همچنین وضعیت کار را تعیین کنید. ما همچنین شمارنده‌های کار بلادرنگ می‌سازیم و روی همگام‌سازی کامل وضعیت سرور کار می‌کنیم.

در حین ساختن قسمت جلویی این برنامه، یاد می گیرید که چگونه از TypeScript با React، Material UI، React Query و Context API استفاده کنید. و وقتی REST API را با Node به عنوان یک سرویس پشتیبان برای برنامه می‌سازیم، تجربه عملی عملی در مورد نحوه استفاده از Typescript در ارتباط با NodeJS به همراه پایگاه داده Express، TypeORM و Mysql به دست می‌آوریم. اگر یک توسعه دهنده فول استک هستید، می توانید از پروژه کامل با من لذت ببرید و بسازید. و در میان شما، مجموعه مهارت‌ها به بخش پشتیبان یا فرانت‌اند محدود می‌شوند. شما می توانید ماژول را بر اساس مهارت های خود انتخاب کنید زیرا این ماژول ها مستقل هستند و به یکدیگر وابستگی ندارند.


تفصیل تفصیلی موضوعات تحت پوشش دوره:

  • TypeScript چیست

  • چگونه TypeScript به شما کمک می کند کد بهتری بنویسید

  • معرفی انواع

  • انواع مختلف در TypeScript

  • انواع اولیه

  • انواع شی

  • انواع آرایه

  • جلوها

  • Enums

  • اتحادیه ها

  • انواع تقاطع

  • انواع سفارشی

  • استنتاج

    را تایپ کنید
  • باطل

  • هرگز

  • توابع در TypeScript

  • امضای تماس

  • بارگذاری بیش از حد عملکرد

  • توابع چند شکلی

  • عمومی

  • کلاس ها در TypeScript

  • ارث

  • دستگاه‌ها و تغییردهنده‌ها

  • سازندگان

  • دسترسی به اصلاح کننده ها

  • اعضای ثابت

  • کلاس های انتزاعی

  • نسخ روش

  • رابط ها

  • ارث بری چندگانه با رابط

  • کامپایلر TypeScript و نحوه تغییر آن برای نیازهای خود

  • نمونه های اولیه و اشیاء جاوا اسکریپت

  • وارث نمونه اولیه

  • توصیف کننده های ویژگی

  • دکوراتورها

  • کارخانه های دکوراتور

  • دکوراتورهای کلاس

  • دکوراتورهای روش

  • تزئینات پارامتر

  • دکوراتورها روی اعضای ثابت یک کلاس

  • دکوراتورهای املاک

  • چند دکوراتور و ترتیب اجرا

  • زیرگروه ها و سوپرتایپ ها

  • در حال تایپ

  • عرض کردن را تایپ کنید

  • کل

  • اتحادیه های تبعیض آمیز

  • انواع دسترسی به فهرست

  • عملگر KeyOff

  • انواع نقشه‌برداری شده

  • انواع شرطی

  • تعاریف کتابخانه های شخص ثالث را تایپ کنید

  • ساخت یک برنامه کامل پشته

  • برنامه جلویی با استفاده از - TypeScript با React، Material UI، React Query/Tanstack Query و Context API.

  • Application Backend REST API با استفاده از TypeScript با NodeJS، TypeORM و MySql


چرا باید TypeScript را یاد بگیرید
TypeScript یک زبان برنامه نویسی با تایپ قوی است که بر اساس جاوا اسکریپت ساخته می شود. تایپ اسکریپت ابر مجموعه ای از جاوا اسکریپت است و می تواند همراه با جاوا اسکریپت استفاده شود و امکان ارتقای آهسته و پیوسته را فراهم کند. TypeScript به عنوان دومین زبان برنامه نویسی محبوب در نظرسنجی توسعه دهندگان Stack Overflow 2020 انتخاب شده است.

از زمان معرفی NodeJS به جامعه یک دهه پیش، جاوا اسکریپت به پرکاربردترین زبان برنامه نویسی بین پلتفرمی تبدیل شده است. در حالی که اندازه، دامنه و پیچیدگی برنامه های جاوا اسکریپت به طور تصاعدی افزایش یافته است، توانایی زبان جاوا اسکریپت برای بیان روابط بین موجودیت های مختلف کد رشد نکرده است. رایج ترین خطاهایی که برنامه نویسان مرتکب می شوند خطاهای نوع هستند: نوع خاصی از مقدار زمانی استفاده می شد که نوع متفاوتی از مقدار مورد انتظار بود. این ممکن است ناشی از اشتباهات تایپی ساده، عدم درک سطح API یک کتابخانه، فرضیات نادرست در مورد رفتار زمان اجرا یا سایر خطاها باشد. هدف TypeScript این است که یک بررسی کننده نوع ثابت برای برنامه های جاوا اسکریپت باشد.

به‌جز ارائه بررسی نوع و انواع سخت‌گیرانه، TypeScript دارای مجموعه‌ای از ویژگی‌ها است که به شما در نوشتن کد شی‌گرا کمک می‌کند. این ویژگی‌ها مختص TypeScript هستند و در جاوا اسکریپت وجود ندارند.


چه کسی باید این دوره را بگذراند؟

  • اگر یک توسعه دهنده جاوا اسکریپت موجود هستید و می خواهید بازی جاوا اسکریپت خود را با TypeScript ارتقا دهید. این دوره برای شما مناسب است.

  • اگر قبلاً دانش اولیه TypeScript دارید و می خواهید عمیقاً در مفاهیم پیشرفته غوطه ور شوید. این دوره برای شما مناسب است.

  • اگر می خواهید نحوه استفاده از TypeScript و فناوری های موجود مانند React، Material UI، Context API، React Query، Node و TypeORM را بیاموزید. این دوره به شما کمک می کند تا TypeScript را در ارتباط با این فناوری ها یاد بگیرید.


چه کسانی نباید این دوره را بگذرانند؟

  • از آنجایی که TypeScript یک سوپرمجموعه جاوا اسکریپت است، اگر تا به حال روی جاوا اسکریپت کار نکرده اید، این دوره برای شما مناسب نیست. لازم نیست در جاوا اسکریپت متخصص باشید، اما برای بهره مندی از این دوره باید دانش اولیه جاوا اسکریپت را داشته باشید.

  • فرض کنید شما یک برنامه نویس جدید هستید که به دنبال اولین دوره زبان برنامه نویسی خود هستید. پس این دوره برای شما مناسب نیست. از آنجایی که تایپ اسکریپت بر روی جاوا اسکریپت ایجاد می شود، برای گذراندن این دوره به دانش قبلی در مورد برنامه نویسی جاوا اسکریپت نیاز است.


سرفصل ها و درس ها

معرفی Introduction

  • آنچه در دوره گنجانده شده است WHAT'S INCLUDED IN THE COURSE

  • نسخه ی نمایشی برنامه ای که ما در پایان می سازیم DEMO OF APP WE BUILD IN THE END

  • کی این درس را برمیدارد؟ Who Should Take This Course?

  • چگونه می توان از مزایای کامل دوره استفاده کرد How To Take Full Advantage Of The Course

  • بازخورد شما Your Feedback

  • تایپ اسکریپت چیست؟ What Is Typescript ?

  • نصب NodeJS بر روی دستگاه شما Installing NodeJS On Your Machine

  • نصب Typescript و آماده سازی IDE شما Installing Typescript And Preparing Your IDE

  • نکته ای درباره منابع A Note About Resources

  • اولین برنامه TypeScript شما Your First TypeScript Program

  • چگونه TypeScript به شما در یافتن خطاها کمک می کند How TypeScript Helps you Catch Errors

  • شیرجه عمیق به فایل جاوا اسکریپت تولید شده توسط TypeScript Deep Dive into the JavaScript File Generated by TypeScript

  • راه اندازی کامپایل خودکار Setting up Auto Compilation

  • بخش مسابقه برای معرفی Quiz for Introduction Section.

معرفی Introduction

  • آنچه در دوره گنجانده شده است WHAT'S INCLUDED IN THE COURSE

  • نسخه ی نمایشی برنامه ای که ما در پایان می سازیم DEMO OF APP WE BUILD IN THE END

  • کی این درس را برمیدارد؟ Who Should Take This Course?

  • چگونه می توان از مزایای کامل دوره استفاده کرد How To Take Full Advantage Of The Course

  • بازخورد شما Your Feedback

  • تایپ اسکریپت چیست؟ What Is Typescript ?

  • نصب NodeJS بر روی دستگاه شما Installing NodeJS On Your Machine

  • نصب Typescript و آماده سازی IDE شما Installing Typescript And Preparing Your IDE

  • نکته ای درباره منابع A Note About Resources

  • اولین برنامه TypeScript شما Your First TypeScript Program

  • چگونه TypeScript به شما در یافتن خطاها کمک می کند How TypeScript Helps you Catch Errors

  • شیرجه عمیق به فایل جاوا اسکریپت تولید شده توسط TypeScript Deep Dive into the JavaScript File Generated by TypeScript

  • راه اندازی کامپایل خودکار Setting up Auto Compilation

  • بخش مسابقه برای معرفی Quiz for Introduction Section.

همه چیز درباره انواع All About Types

  • معرفی ماژول - همه چیز درباره انواع Module Introduction - All About Types

  • مقدمه ای بر انواع Introduction to Types

  • هر نوعی any Type

  • نوع ناشناخته unknown Type

  • نوع بولی boolean Type

  • نوع شماره number Type

  • نوع bigint bigint Type

  • نوع رشته string Type

  • امتحان انواع بدوی Quiz on primitive types

  • Inference را در TypeScript تایپ کنید Type Inference in TypeScript

  • نوع شی Object Type

  • نام مستعار را با تایپ کلمه کلیدی تایپ کنید Type Aliases with type Keyword

  • ★ تمرین: ایجاد اشیاء تودرتو با تایپ دقیق ★ Practice: Create Strictly Typed Nested Objects

  • ★ راه حل: ایجاد اشیاء تودرتو با تایپ دقیق ★ Solution: Create Strictly Typed Nested Objects

  • انواع اتحادیه The union types

  • انواع اتحادیه با انواع اولیه Union Types with Primitive Types

  • انواع تقاطع در TypeScript Intersection Types In TypeScript

  • امضاهای شاخص Index Signatures

  • آرایه ها در TypeScript Arrays in TypeScript

  • تاپل ها Tuples

  • فقط آرایه ها را بخوانید Read only Arrays

  • null و undefind در TypeScript null and undefind in TypeScript

  • باطل است و هرگز تایپ نمی کند void and never types

  • Enums Enums

  • ★ تمرین: یک شی پیچیده را به شدت تایپ کنید ★ Practice: Strictly Type A Complex Object

  • ★ راه حل: یک شی پیچیده را به شدت تایپ کنید ★ Solution: Strictly Type A Complex Object

  • دانش خود را در مورد انواع TypeScript تست کنید. Test your knowledge about TypeScript Types.

همه چیز درباره انواع All About Types

  • معرفی ماژول - همه چیز درباره انواع Module Introduction - All About Types

  • مقدمه ای بر انواع Introduction to Types

  • هر نوعی any Type

  • نوع ناشناخته unknown Type

  • نوع بولی boolean Type

  • نوع شماره number Type

  • نوع bigint bigint Type

  • نوع رشته string Type

  • امتحان انواع بدوی Quiz on primitive types

  • Inference را در TypeScript تایپ کنید Type Inference in TypeScript

  • نوع شی Object Type

  • نام مستعار را با تایپ کلمه کلیدی تایپ کنید Type Aliases with type Keyword

  • ★ تمرین: ایجاد اشیاء تودرتو با تایپ دقیق ★ Practice: Create Strictly Typed Nested Objects

  • ★ راه حل: ایجاد اشیاء تودرتو با تایپ دقیق ★ Solution: Create Strictly Typed Nested Objects

  • انواع اتحادیه The union types

  • انواع اتحادیه با انواع اولیه Union Types with Primitive Types

  • انواع تقاطع در TypeScript Intersection Types In TypeScript

  • امضاهای شاخص Index Signatures

  • آرایه ها در TypeScript Arrays in TypeScript

  • تاپل ها Tuples

  • فقط آرایه ها را بخوانید Read only Arrays

  • null و undefind در TypeScript null and undefind in TypeScript

  • باطل است و هرگز تایپ نمی کند void and never types

  • Enums Enums

  • ★ تمرین: یک شی پیچیده را به شدت تایپ کنید ★ Practice: Strictly Type A Complex Object

  • ★ راه حل: یک شی پیچیده را به شدت تایپ کنید ★ Solution: Strictly Type A Complex Object

  • دانش خود را در مورد انواع TypeScript تست کنید. Test your knowledge about TypeScript Types.

توابع در TypeScript Functions In TypeScript

  • معرفی ماژول - توابع در TypeScript Module Introduction - Functions In TypeScript

  • اعلان توابع در TypeScript Declaring Functions in TypeScript

  • پارامترهای پیش فرض و اختیاری Default and Optional Parameters

  • پارامترهای سفارشی و انواع بازگشت Custom Parameters and Return Types

  • تابع امضای تماس Function Call Signatures

  • مقدمه ای بر بارگذاری بیش از حد تابع Intro to Function Overloading

  • استفاده از عملکرد مشابه با پارامترهای مختلف Using Same Function With Different Params

  • دانش خود را در مورد توابع در TypeScript آزمایش کنید Test your knowledge about functions in TypeScript

توابع در TypeScript Functions In TypeScript

  • معرفی ماژول - توابع در TypeScript Module Introduction - Functions In TypeScript

  • اعلان توابع در TypeScript Declaring Functions in TypeScript

  • پارامترهای پیش فرض و اختیاری Default and Optional Parameters

  • پارامترهای سفارشی و انواع بازگشت Custom Parameters and Return Types

  • تابع امضای تماس Function Call Signatures

  • مقدمه ای بر بارگذاری بیش از حد تابع Intro to Function Overloading

  • استفاده از عملکرد مشابه با پارامترهای مختلف Using Same Function With Different Params

  • دانش خود را در مورد توابع در TypeScript آزمایش کنید Test your knowledge about functions in TypeScript

Generics در TypeScript Generics In TypeScript

  • معرفی ماژول - Generics در TypeScript Module Introduction - Generics In TypeScript

  • اجرای چند شکلی - دور شدن از انواع بتن Polymorphic Implementation - Moving Away from Concrete Types

  • نیاز به توابع چند شکلی Need for Polymorphic Functions

  • مشکل با اضافه بار عملکرد Problem With Function Overloads

  • معرفی Generics Introducing Generics

  • کجا می توانید ژنریک را اعلام کنید Where Can you Declare Generics

  • ★ تمرین: اجرای نقشه تابع ★ Practice: Implement Map Function

  • ★ راه حل: تابع نقشه در TypeScript ★ Solution: Map Function in TypeScript

Generics در TypeScript Generics In TypeScript

  • معرفی ماژول - Generics در TypeScript Module Introduction - Generics In TypeScript

  • اجرای چند شکلی - دور شدن از انواع بتن Polymorphic Implementation - Moving Away from Concrete Types

  • نیاز به توابع چند شکلی Need for Polymorphic Functions

  • مشکل با اضافه بار عملکرد Problem With Function Overloads

  • معرفی Generics Introducing Generics

  • کجا می توانید ژنریک را اعلام کنید Where Can you Declare Generics

  • ★ تمرین: اجرای نقشه تابع ★ Practice: Implement Map Function

  • ★ راه حل: تابع نقشه در TypeScript ★ Solution: Map Function in TypeScript

طبقات و ارث Classes and Inheritance

  • معرفی ماژول: کلاس ها و ارث Module Introduction: Classes and Inheritance

  • کلاس چیست What is a class

  • ایجاد اولین کلاس شما Creating your first class

  • ایجاد یک نمونه از یک کلاس Creating an Instance of a Class

  • عملکرد سازنده در کلاس ها Constructor Function in Classes

  • این کلمه کلیدی در داخل کلاس ها This Keyword Inside Classes

  • درک وراثت Understanding Inheritance

  • روش فوق العاده The Super Method

  • دسترسی به اصلاح کننده ها برای ویژگی های کلاس Access Modifiers for Class Properties

  • اعضای عمومی و خصوصی Public and Private members

  • اعضای محافظت شده در یک کلاس Protected Members In a Class

  • از کدام اصلاح کننده دسترسی استفاده کنیم؟ Which access modifier to use?

  • دانش خود را در مورد کلاس ها و اصلاح کننده های دسترسی آزمایش کنید Test your knowledge about classes and access modifiers

  • مخفف برای خصوصیات اولیه Shorthand For Initial Properties

  • کنترل بیشتر بر اعضای یک کلاس Getting More Control On Members Of a class

  • با استفاده از روش جهش دهنده - ستتر Using a Mutator - Setter Method

  • استفاده از Accessor - Getter Method Using an Accessor - Getter Method

  • گیرها و ستترها چگونه متفاوت هستند؟ How are getters and setters different?

  • بهبود کلاس شخصی ما Improving Our Person Class

  • Refactoring روش سازنده Refactoring the Constructor Method

طبقات و ارث Classes and Inheritance

  • معرفی ماژول: کلاس ها و ارث Module Introduction: Classes and Inheritance

  • کلاس چیست What is a class

  • ایجاد اولین کلاس شما Creating your first class

  • ایجاد یک نمونه از یک کلاس Creating an Instance of a Class

  • عملکرد سازنده در کلاس ها Constructor Function in Classes

  • این کلمه کلیدی در داخل کلاس ها This Keyword Inside Classes

  • درک وراثت Understanding Inheritance

  • روش فوق العاده The Super Method

  • دسترسی به اصلاح کننده ها برای ویژگی های کلاس Access Modifiers for Class Properties

  • اعضای عمومی و خصوصی Public and Private members

  • اعضای محافظت شده در یک کلاس Protected Members In a Class

  • از کدام اصلاح کننده دسترسی استفاده کنیم؟ Which access modifier to use?

  • دانش خود را در مورد کلاس ها و اصلاح کننده های دسترسی آزمایش کنید Test your knowledge about classes and access modifiers

  • مخفف برای خصوصیات اولیه Shorthand For Initial Properties

  • کنترل بیشتر بر اعضای یک کلاس Getting More Control On Members Of a class

  • با استفاده از روش جهش دهنده - ستتر Using a Mutator - Setter Method

  • استفاده از Accessor - Getter Method Using an Accessor - Getter Method

  • گیرها و ستترها چگونه متفاوت هستند؟ How are getters and setters different?

  • بهبود کلاس شخصی ما Improving Our Person Class

  • Refactoring روش سازنده Refactoring the Constructor Method

کلاس ها و رابط های انتزاعی Abstract Classes And Interfaces

  • معرفی ماژول - کلاس ها و رابط های انتزاعی Module Introduction - Abstract Classes And Interfaces

  • مقدمه ای بر خواص و روش های استاتیک Introduction To Static Properties And Methods

  • مقدمه ای بر کلاس های چکیده Introduction To Abstract Classes

  • روش های مشترک در کلاس های انتزاعی Shared methods in Abstract Classes

  • کلاس های حفاظت شده سازنده و کودک Protected Constructor And Child Classes

  • اضافه کردن تعطیلات به کلاس ها Adding Holidays To Classes

  • روش چاپ تعطیلات Print Holidays Method

  • نادیده گرفتن روش در کلاس کودک Method Overriding In Child Class

  • مقدمه ای بر روش های چکیده Introduction to Abstract Methods

  • مقدمه ای بر رابط ها Introduction to Interfaces

  • گسترش رابط ها با استفاده از کلمه کلیدی extensions Extending Interfaces using extends keyword

  • ارث بردن از چندین رابط Inheriting From Multiple Interfaces

  • رابط ها و ژنریک ها Interfaces and Generics

  • اختصاص دادن ژنریک به رابط ها Assigning Generics To Interfaces

  • استفاده از انواع مختلف به عنوان ژنریک Using Multiple Types as Generics

  • استفاده از رابط با کلاس ها Using interfaces with classes

  • چندین کلاس با استفاده از یک رابط Multiple Classes Using the Same Interface

  • پیاده سازی چندین رابط Implementing Multiple Interfaces

  • ارث بری چندگانه در کلاس ها با استفاده از رابط ها Multiple inheritance in classes using interfaces

  • رابط ها و اصلاح کننده های دسترسی Interfaces and Access Modifiers

  • تفاوت بین یک نوع و یک رابط Difference Between a Type and an Interface

  • تفاوت بین یک کلاس انتزاعی و یک رابط Difference Between a Abstract Class and an Interface

  • تفاوت بین رابط ها و کلاس های چکیده 2 Difference Between Interfaces and Abstract Classes 2

  • چه چیزی باید استفاده کنید؟ کلاس یا رابط های انتزاعی What should you use? Abstract Class or Interfaces

  • ببینید چه چیزی در مورد رابط ها یاد گرفته اید. See what you have learnt about interfaces.

کلاس ها و رابط های انتزاعی Abstract Classes And Interfaces

  • معرفی ماژول - کلاس ها و رابط های انتزاعی Module Introduction - Abstract Classes And Interfaces

  • مقدمه ای بر خواص و روش های استاتیک Introduction To Static Properties And Methods

  • مقدمه ای بر کلاس های چکیده Introduction To Abstract Classes

  • روش های مشترک در کلاس های انتزاعی Shared methods in Abstract Classes

  • کلاس های حفاظت شده سازنده و کودک Protected Constructor And Child Classes

  • اضافه کردن تعطیلات به کلاس ها Adding Holidays To Classes

  • روش چاپ تعطیلات Print Holidays Method

  • نادیده گرفتن روش در کلاس کودک Method Overriding In Child Class

  • مقدمه ای بر روش های چکیده Introduction to Abstract Methods

  • مقدمه ای بر رابط ها Introduction to Interfaces

  • گسترش رابط ها با استفاده از کلمه کلیدی extensions Extending Interfaces using extends keyword

  • ارث بردن از چندین رابط Inheriting From Multiple Interfaces

  • رابط ها و ژنریک ها Interfaces and Generics

  • اختصاص دادن ژنریک به رابط ها Assigning Generics To Interfaces

  • استفاده از انواع مختلف به عنوان ژنریک Using Multiple Types as Generics

  • استفاده از رابط با کلاس ها Using interfaces with classes

  • چندین کلاس با استفاده از یک رابط Multiple Classes Using the Same Interface

  • پیاده سازی چندین رابط Implementing Multiple Interfaces

  • ارث بری چندگانه در کلاس ها با استفاده از رابط ها Multiple inheritance in classes using interfaces

  • رابط ها و اصلاح کننده های دسترسی Interfaces and Access Modifiers

  • تفاوت بین یک نوع و یک رابط Difference Between a Type and an Interface

  • تفاوت بین یک کلاس انتزاعی و یک رابط Difference Between a Abstract Class and an Interface

  • تفاوت بین رابط ها و کلاس های چکیده 2 Difference Between Interfaces and Abstract Classes 2

  • چه چیزی باید استفاده کنید؟ کلاس یا رابط های انتزاعی What should you use? Abstract Class or Interfaces

  • ببینید چه چیزی در مورد رابط ها یاد گرفته اید. See what you have learnt about interfaces.

کامپایلر TypeScript The TypeScript Compiler

  • معرفی ماژول - کامپایلر TypeScript Module Introduction - The TypeScript Compiler

  • راه اندازی یک پروژه پایه Setting up a base project

  • با استفاده از حالت ساعت Using the watch mode

  • شامل و حذف فایل ها Including and Excluding Files

  • rootDir و outDir rootDir and outDir

  • تنظیم یک هدف کامپایل Setting a Compilation Target

  • TypeScript Core Libs TypeScript Core Libs

  • گزینه Checking Options را تایپ کنید Type Checking Options

  • درک نقشه های منبع Understanding Source Maps

کامپایلر TypeScript The TypeScript Compiler

  • معرفی ماژول - کامپایلر TypeScript Module Introduction - The TypeScript Compiler

  • راه اندازی یک پروژه پایه Setting up a base project

  • با استفاده از حالت ساعت Using the watch mode

  • شامل و حذف فایل ها Including and Excluding Files

  • rootDir و outDir rootDir and outDir

  • تنظیم یک هدف کامپایل Setting a Compilation Target

  • TypeScript Core Libs TypeScript Core Libs

  • گزینه Checking Options را تایپ کنید Type Checking Options

  • درک نقشه های منبع Understanding Source Maps

نمونه های اولیه و اشیاء Prototypes And Objects

  • معرفی ماژول - نمونه های اولیه و اشیاء Module Introduction - Prototypes And Objects

  • تنظیم دستور watch به عنوان اسکریپت npm Setting the watch command as npm script

  • این کلمه کلیدی در JS This Keyword In JS

  • رفتار عجیب این کلمه کلیدی Weird Behaviour Of The This Keyword

  • توابع سازنده Constructor Functions

  • تابع سازنده خود جاوا اسکریپت Javascript’s Own Constructor Function

  • آشنایی با نمونه های اولیه Understanding Prototypes

  • نظریه اولیه وراثت Prototypical Inheritance Theory

  • به ارث بردن ویژگی های کاربر Inheriting The User Properties

  • به ارث بردن نمونه های اولیه کاربر Inheriting The User Prototypes

  • روش های جایگزین برای ایجاد اشیا Alternate Methods Of Creating Objects

  • مقدمه ای بر توصیف کننده های دارایی Introduction To Property Descriptors

  • defineProperty Method defineProperty Method

  • چگونه کلاس ها قند نحوی در نمونه های اولیه هستند How Classes Are Syntactic Sugar On Prototypes

نمونه های اولیه و اشیاء Prototypes And Objects

  • معرفی ماژول - نمونه های اولیه و اشیاء Module Introduction - Prototypes And Objects

  • تنظیم دستور watch به عنوان اسکریپت npm Setting the watch command as npm script

  • این کلمه کلیدی در JS This Keyword In JS

  • رفتار عجیب این کلمه کلیدی Weird Behaviour Of The This Keyword

  • توابع سازنده Constructor Functions

  • تابع سازنده خود جاوا اسکریپت Javascript’s Own Constructor Function

  • آشنایی با نمونه های اولیه Understanding Prototypes

  • نظریه اولیه وراثت Prototypical Inheritance Theory

  • به ارث بردن ویژگی های کاربر Inheriting The User Properties

  • به ارث بردن نمونه های اولیه کاربر Inheriting The User Prototypes

  • روش های جایگزین برای ایجاد اشیا Alternate Methods Of Creating Objects

  • مقدمه ای بر توصیف کننده های دارایی Introduction To Property Descriptors

  • defineProperty Method defineProperty Method

  • چگونه کلاس ها قند نحوی در نمونه های اولیه هستند How Classes Are Syntactic Sugar On Prototypes

دکوراتورها در TypeScript Decorators In TypeScript

  • معرفی ماژول - دکوراتورها در TypeScript Module Introduction - Decorators in TypeScript

  • دکوراتورها چیست؟ What Are Decorators

  • نوشتن اولین دکور ما Writing Our First Decorator

  • وقتی دکوراتورها فراخوانی می شوند When Are Decorators Invoked

  • افزودن به نمونه اولیه Adding To Prototype

  • رابط برای نمونه های اولیه Interfaces For Prototypes

  • افزودن توابع به نمونه های اولیه Adding Functions to Prototypes

  • استفاده از همان دکوراتور با کلاس های متعدد Using Same Decorator With Multiple Classes

  • روش دکوراتور Method Decorators

  • دکوراتورهای روش استاتیک Static Method Decorators

  • مقدمه ای بر کارخانه های دکوراتور Introduction To Decorator Factories

  • دکوراتورها برای پارامترهای روش Decorators For Method Parameters

  • دکوراتورها برای ویژگی های کلاس و لوازم جانبی Decorators For Class Properties And Accessors

  • دکوراتورهای متعدد و ارزش های بازگشتی از دکوراتورهای کلاس Multiple Decorators And Returning Values from Class Decorators

دکوراتورها در TypeScript Decorators In TypeScript

  • معرفی ماژول - دکوراتورها در TypeScript Module Introduction - Decorators in TypeScript

  • دکوراتورها چیست؟ What Are Decorators

  • نوشتن اولین دکور ما Writing Our First Decorator

  • وقتی دکوراتورها فراخوانی می شوند When Are Decorators Invoked

  • افزودن به نمونه اولیه Adding To Prototype

  • رابط برای نمونه های اولیه Interfaces For Prototypes

  • افزودن توابع به نمونه های اولیه Adding Functions to Prototypes

  • استفاده از همان دکوراتور با کلاس های متعدد Using Same Decorator With Multiple Classes

  • روش دکوراتور Method Decorators

  • دکوراتورهای روش استاتیک Static Method Decorators

  • مقدمه ای بر کارخانه های دکوراتور Introduction To Decorator Factories

  • دکوراتورها برای پارامترهای روش Decorators For Method Parameters

  • دکوراتورها برای ویژگی های کلاس و لوازم جانبی Decorators For Class Properties And Accessors

  • دکوراتورهای متعدد و ارزش های بازگشتی از دکوراتورهای کلاس Multiple Decorators And Returning Values from Class Decorators

مفاهیم و ویژگی های پیشرفته Advanced Concepts And Features

  • معرفی ماژول - مفاهیم و ویژگی های پیشرفته Module Introduction - Advanced Concepts and Features

  • درک زیرگروه ها و سوپرتیپ ها Understanding Subtypes And Supertypes

  • چگونه TypeScript سازگاری را بررسی می کند How TypeScript Checks Compatibility

  • Widening را تایپ کنید Type Widening

  • تایپ کاست Typecasting

  • کلیت Totality

  • اتحادیه های تبعیض آمیز Discriminated Unions

  • keying-in یا Index Accessed Types keying-in or Index Accessed Types

  • عملگر کلید keyof operator

  • انواع نقشه برداری شده Mapped Types

  • استفاده از انواع نقشه برداری Using Mapped Types

  • انواع مشروط Conditional Types

مفاهیم و ویژگی های پیشرفته Advanced Concepts And Features

  • معرفی ماژول - مفاهیم و ویژگی های پیشرفته Module Introduction - Advanced Concepts and Features

  • درک زیرگروه ها و سوپرتیپ ها Understanding Subtypes And Supertypes

  • چگونه TypeScript سازگاری را بررسی می کند How TypeScript Checks Compatibility

  • Widening را تایپ کنید Type Widening

  • تایپ کاست Typecasting

  • کلیت Totality

  • اتحادیه های تبعیض آمیز Discriminated Unions

  • keying-in یا Index Accessed Types keying-in or Index Accessed Types

  • عملگر کلید keyof operator

  • انواع نقشه برداری شده Mapped Types

  • استفاده از انواع نقشه برداری Using Mapped Types

  • انواع مشروط Conditional Types

Building The Final Project مقدمه Building The Final Project Introduction

  • مروری بر برنامه An Overview Of The Application

  • مسیرهای توسعه Development Paths

  • نکته ای درباره ESLint And Prettier A Note About ESLint And Prettier

  • با استفاده از تعاریف نوع Using Type Definitions

Building The Final Project مقدمه Building The Final Project Introduction

  • مروری بر برنامه An Overview Of The Application

  • مسیرهای توسعه Development Paths

  • نکته ای درباره ESLint And Prettier A Note About ESLint And Prettier

  • با استفاده از تعاریف نوع Using Type Definitions

ساخت The React Front-end Building The React Front-end

  • نگاهی به طراحی و آنچه که قرار است بسازیم A Look At The Design And What We Are Going To Build

  • با استفاده از Create React App With TypeScript Using Create React App With TypeScript

  • نصب و پیکربندی ESLint Installing And Configuring ESLint

  • نصب و پیکربندی Prettier Installing And Configuring Prettier

  • اولین مولفه TSX React ما Our First TSX React Component

  • شروع کار با Material UI Getting Started With Material UI

  • تم UI Material سفارشی ایجاد کنید Create Custom Material UI Theme

  • ایجاد اولین صفحه ما Creating Our First Page

  • شکستن داشبورد به اجزا Breaking Dashboard Into Components

  • ایجاد کامپوننت نمایه Creating Profile Component

  • طرح بندی اجزای نمایه Profile Component Layout

  • افزودن لوازم جانبی Adding Props

  • استفاده از TypeScript با Props Using TypeScript With Props

  • رابط ها یا PropType ها Interfaces or PropTypes

  • ایجاد کامپوننت CreateATask Creating CreateATask Component

  • ایجاد اجزای عنوان و توضیحات Creating Title And Description Components

  • پویا کردن کامپوننت ها با استفاده از رابط ها Making Components Dynamic Using Interfaces

  • با استفاده از PropTypes Using PropTypes

  • ایجاد کامپوننت DateField Creating DateField Component

  • اضافه کردن Props به DateField Adding Props to DateField

  • ایجاد کامپوننت taskSelectField Creating taskSelectField Component

  • رابط برای taskSelectField Interfaces for taskSelectField

  • PropTypes And Dynamic Options PropTypes And Dynamic Options

  • چیدمان ناحیه وظیفه Task Area Layout

  • جزء Task Counter The Task Counter Component

  • سبک دادن به شمارنده کار Styling The Task Counter

  • پویا کردن ارزش ها Making Values Dynamic

  • ایجاد رنگ حاشیه درست Creating The Correct Border Color

  • انتشار برچسب صحیح Emitting Correct Label

  • شروع با مؤلفه وظیفه Starting with the Task Component

  • مؤلفه سرصفحه وظایف The Task Header Component

  • جزء شرح وظایف Task Description Component

  • کامپوننت Task Footer Task Footer Component

  • پویا کردن پاورقی وظیفه Making Task Footer Dynamic

  • اضافه کردن Props به Task Component Adding Props To Task Component

  • رنگ‌های پویا به حاشیه در مؤلفه وظیفه Dynamic Colors to Border In Task Component

  • نتیجه گیری توسعه Front-end Concluding Front-end Development

ساخت The React Front-end Building The React Front-end

  • نگاهی به طراحی و آنچه که قرار است بسازیم A Look At The Design And What We Are Going To Build

  • با استفاده از Create React App With TypeScript Using Create React App With TypeScript

  • نصب و پیکربندی ESLint Installing And Configuring ESLint

  • نصب و پیکربندی Prettier Installing And Configuring Prettier

  • اولین مولفه TSX React ما Our First TSX React Component

  • شروع کار با Material UI Getting Started With Material UI

  • تم UI Material سفارشی ایجاد کنید Create Custom Material UI Theme

  • ایجاد اولین صفحه ما Creating Our First Page

  • شکستن داشبورد به اجزا Breaking Dashboard Into Components

  • ایجاد کامپوننت نمایه Creating Profile Component

  • طرح بندی اجزای نمایه Profile Component Layout

  • افزودن لوازم جانبی Adding Props

  • استفاده از TypeScript با Props Using TypeScript With Props

  • رابط ها یا PropType ها Interfaces or PropTypes

  • ایجاد کامپوننت CreateATask Creating CreateATask Component

  • ایجاد اجزای عنوان و توضیحات Creating Title And Description Components

  • پویا کردن کامپوننت ها با استفاده از رابط ها Making Components Dynamic Using Interfaces

  • با استفاده از PropTypes Using PropTypes

  • ایجاد کامپوننت DateField Creating DateField Component

  • اضافه کردن Props به DateField Adding Props to DateField

  • ایجاد کامپوننت taskSelectField Creating taskSelectField Component

  • رابط برای taskSelectField Interfaces for taskSelectField

  • PropTypes And Dynamic Options PropTypes And Dynamic Options

  • چیدمان ناحیه وظیفه Task Area Layout

  • جزء Task Counter The Task Counter Component

  • سبک دادن به شمارنده کار Styling The Task Counter

  • پویا کردن ارزش ها Making Values Dynamic

  • ایجاد رنگ حاشیه درست Creating The Correct Border Color

  • انتشار برچسب صحیح Emitting Correct Label

  • شروع با مؤلفه وظیفه Starting with the Task Component

  • مؤلفه سرصفحه وظایف The Task Header Component

  • جزء شرح وظایف Task Description Component

  • کامپوننت Task Footer Task Footer Component

  • پویا کردن پاورقی وظیفه Making Task Footer Dynamic

  • اضافه کردن Props به Task Component Adding Props To Task Component

  • رنگ‌های پویا به حاشیه در مؤلفه وظیفه Dynamic Colors to Border In Task Component

  • نتیجه گیری توسعه Front-end Concluding Front-end Development

Building Node API با TypeScript Building Node API With TypeScript

  • معرفی ماژول: Building Node API با TypeScript Module Introduction: Building Node API With TypeScript

  • ایجاد یک سرور اصلی گره Creating A Basic Node Server

  • افزودن TypeScript به Node Server Adding TypeScript To Node Server

  • تبدیل index.js به index.ts Converting index.js to index.ts

  • خودکارسازی فرآیند توسعه Automating the Development Process

  • ESlint و ادغام زیباتر ESlint And Prettier Integration

  • آشنایی با TypeORM Understanding TypeORM

  • یکپارچه سازی TypeORM Integrating TypeORM

  • ابزارهایی برای مرور طرحواره های MySQL Tools To Browse MySQL Schemas

  • افزودن وابستگی های دیگر Adding Other Dependencies

  • آشنایی با موجودیت های TypeORM Understanding TypeORM Entities

  • افزودن کلید اصلی به موجودیت وظیفه Adding Primary Key To Task Entity

  • در حال تکمیل موجودیت وظیفه Completing Task Entity

  • منطق مسیریابی انتزاعی Abstracting Routing Logic

  • درک جریان برنامه Understanding Application Flow

  • ایجاد یک Tasks Controller Creating A Tasks Controller

  • ایجاد مخزن TypeORM Creating A TypeORM Repository

  • استفاده از مخزن برای دریافت همه وظایف Using Repository To Get All Tasks

  • راه اندازی برای آزمایش درخواست های HTTP Setup For Testing HTTP Requests

  • بررسی نتایج از مخزن Checking Results From Repository

  • مقدمه ای بر Class Transformer Introduction to Class Transformer

  • ارسال پاسخ از Tasks Router Sending A Response From Tasks Router

  • ایجاد نقطه پایانی پست Creating The Post Endpoint

  • مقدمه ای بر اعتبار سنجی اکسپرس Introduction To Express Validator

  • با استفاده از اعتبارسنجی Using The Validator

  • روتر و کنترلر Refactoring Refactoring Router And Controller

  • انتقال منطق اعتبارسنجی به کنترلر Moving Validation Logic To Controller

  • تکمیل Post Controller Completing The Post Controller

  • ایجاد اعتبارسنجی درخواست به‌روزرسانی Creating Update Request Validator

  • ایجاد یک مسیر درخواست PUT Creating a PUT Request Route

  • پیاده سازی روش به روز رسانی Implementation Of Update Method

  • تست و نتیجه گیری Testing And Conclusion

Building Node API با TypeScript Building Node API With TypeScript

  • معرفی ماژول: Building Node API با TypeScript Module Introduction: Building Node API With TypeScript

  • ایجاد یک سرور اصلی گره Creating A Basic Node Server

  • افزودن TypeScript به Node Server Adding TypeScript To Node Server

  • تبدیل index.js به index.ts Converting index.js to index.ts

  • خودکارسازی فرآیند توسعه Automating the Development Process

  • ESlint و ادغام زیباتر ESlint And Prettier Integration

  • آشنایی با TypeORM Understanding TypeORM

  • یکپارچه سازی TypeORM Integrating TypeORM

  • ابزارهایی برای مرور طرحواره های MySQL Tools To Browse MySQL Schemas

  • افزودن وابستگی های دیگر Adding Other Dependencies

  • آشنایی با موجودیت های TypeORM Understanding TypeORM Entities

  • افزودن کلید اصلی به موجودیت وظیفه Adding Primary Key To Task Entity

  • در حال تکمیل موجودیت وظیفه Completing Task Entity

  • منطق مسیریابی انتزاعی Abstracting Routing Logic

  • درک جریان برنامه Understanding Application Flow

  • ایجاد یک Tasks Controller Creating A Tasks Controller

  • ایجاد مخزن TypeORM Creating A TypeORM Repository

  • استفاده از مخزن برای دریافت همه وظایف Using Repository To Get All Tasks

  • راه اندازی برای آزمایش درخواست های HTTP Setup For Testing HTTP Requests

  • بررسی نتایج از مخزن Checking Results From Repository

  • مقدمه ای بر Class Transformer Introduction to Class Transformer

  • ارسال پاسخ از Tasks Router Sending A Response From Tasks Router

  • ایجاد نقطه پایانی پست Creating The Post Endpoint

  • مقدمه ای بر اعتبار سنجی اکسپرس Introduction To Express Validator

  • با استفاده از اعتبارسنجی Using The Validator

  • روتر و کنترلر Refactoring Refactoring Router And Controller

  • انتقال منطق اعتبارسنجی به کنترلر Moving Validation Logic To Controller

  • تکمیل Post Controller Completing The Post Controller

  • ایجاد اعتبارسنجی درخواست به‌روزرسانی Creating Update Request Validator

  • ایجاد یک مسیر درخواست PUT Creating a PUT Request Route

  • پیاده سازی روش به روز رسانی Implementation Of Update Method

  • تست و نتیجه گیری Testing And Conclusion

یکپارچه سازی Front-end و Backend Front-end And Backend Integration

  • یک معرفی سریع A Quick Introduction

  • Introduction To React | Tanstack Query Introduction To React | Tanstack Query

  • یکپارچه سازی Tanstack Query Integrating Tanstack Query

  • با استفاده از آخرین نسخه @tanstack Query Using the Latest Version of @tanstack Query

  • مقدمه ای بر پرس و جوها و جهش ها Introduction To Queries And Mutations

  • Fetch API The Fetch API

  • ایجاد ایالات برای شکل ما Creating States For Our Form

  • استفاده از ایالات با فیلدهای فرم Using States With Form Fields

  • اضافه کردن دکمه، هشدار و پیشرفت Adding Button, Alert and Progress

  • اضافه کردن useMutation Hook Adding The useMutation Hook

  • ایجاد رابط ICreateTask Creating The ICreateTask Interface

  • از جهش برای ایجاد یک کار جدید استفاده کنید Use Mutation To Create A New Task

  • مدیریت ایالات بارگیری Managing Loading States

  • مدیریت عوارض جانبی در جهش Managing Side Effects In Mutation

  • اولین درخواست ما را ایجاد کنید Create Our First Query

  • رابط برای درخواست GET Interface For GET Request

  • تغییرات جزئی در رابط ITask Minor Changes to ITask Interface

  • افزودن پیام های هشدار Adding Alert Messages

  • حلقه زدن از طریق داده های پرس و جو Looping Through Query Data

  • تنظیم وضعیت سوئیچ در حال پیشرفت Setting inProgress Switch State

  • ایجاد جهش برای به روز رسانی کار Create Mutation For Updating Task

  • onStatusChangeHandler onStatusChangeHandler

  • markCompleteHandler markCompleteHandler

  • تابع countTasks countTasks Function

  • کار بر روی Task Counter Working On Task Counters

  • درک اینکه چرا به زمینه واکنش نیاز داریم Understanding Why We Need React Context

  • ایجاد React Context Creating React Context

  • استفاده از زمینه در برنامه ما Using Context In Our App

  • TaskStatusChangedContext TaskStatusChangedContext

  • با استفاده از متن Using The Context

  • به روز رسانی لیست وظایف در مورد تغییر زمینه Updating Task List On Context Change

  • آزمایش برنامه ما و نتیجه گیری Testing Our App And Concluding

یکپارچه سازی Front-end و Backend Front-end And Backend Integration

  • یک معرفی سریع A Quick Introduction

  • Introduction To React | Tanstack Query Introduction To React | Tanstack Query

  • یکپارچه سازی Tanstack Query Integrating Tanstack Query

  • با استفاده از آخرین نسخه @tanstack Query Using the Latest Version of @tanstack Query

  • مقدمه ای بر پرس و جوها و جهش ها Introduction To Queries And Mutations

  • Fetch API The Fetch API

  • ایجاد ایالات برای شکل ما Creating States For Our Form

  • استفاده از ایالات با فیلدهای فرم Using States With Form Fields

  • اضافه کردن دکمه، هشدار و پیشرفت Adding Button, Alert and Progress

  • اضافه کردن useMutation Hook Adding The useMutation Hook

  • ایجاد رابط ICreateTask Creating The ICreateTask Interface

  • از جهش برای ایجاد یک کار جدید استفاده کنید Use Mutation To Create A New Task

  • مدیریت ایالات بارگیری Managing Loading States

  • مدیریت عوارض جانبی در جهش Managing Side Effects In Mutation

  • اولین درخواست ما را ایجاد کنید Create Our First Query

  • رابط برای درخواست GET Interface For GET Request

  • تغییرات جزئی در رابط ITask Minor Changes to ITask Interface

  • افزودن پیام های هشدار Adding Alert Messages

  • حلقه زدن از طریق داده های پرس و جو Looping Through Query Data

  • تنظیم وضعیت سوئیچ در حال پیشرفت Setting inProgress Switch State

  • ایجاد جهش برای به روز رسانی کار Create Mutation For Updating Task

  • onStatusChangeHandler onStatusChangeHandler

  • markCompleteHandler markCompleteHandler

  • تابع countTasks countTasks Function

  • کار بر روی Task Counter Working On Task Counters

  • درک اینکه چرا به زمینه واکنش نیاز داریم Understanding Why We Need React Context

  • ایجاد React Context Creating React Context

  • استفاده از زمینه در برنامه ما Using Context In Our App

  • TaskStatusChangedContext TaskStatusChangedContext

  • با استفاده از متن Using The Context

  • به روز رسانی لیست وظایف در مورد تغییر زمینه Updating Task List On Context Change

  • آزمایش برنامه ما و نتیجه گیری Testing Our App And Concluding

نمایش نظرات

آموزش دوره کامل TypeScript - مبتدی تا پیشرفته + پروژه
جزییات دوره
20 hours
250
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,989
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Manik (Cloudaffle) Manik (Cloudaffle)

معلم پرشور | یوتیوبر | توسعه دهنده Full Stack