برنامهنویسی غیرهمزمان (Asynchronous) در جاوااسکریپت به ما اجازه میدهد عملیات سنگین (مانند درخواستهای HTTP) را بدون مسدود کردن اجرای برنامه انجام دهیم. در این آموزش با تفاوت کدهای همزمان و غیرهمزمان و روشهای مدیریت آنها مثل Callbackها، Promiseها و Async/Await آشنا میشویم.
در این آموزش، قابلیت پایداری دادهها را به پروژه Book List اضافه میکنیم. با ایجاد یک کلاس استاتیک به نام Store، یاد میگیریم چگونه کتابها را در LocalStorage ذخیره، بازیابی و حذف کنیم تا دادهها با رفرش صفحه از بین نروند.
در این آموزش، پروژه Book List را که با الگوی شیگرایی ES5 و پروتوتایپها ساخته شده بود، به کلاسهای ES6 تبدیل میکنیم. همچنین بررسی میکنیم که متدهای کلاس در پشت صحنه همچنان روی prototype قرار میگیرند.
در این آموزش، قابلیت حذف کتابها را با استفاده از تکنیک Event Delegation پیادهسازی میکنیم. از آنجایی که دکمههای حذف بهصورت پویا ایجاد میشوند، به جای اتصال مستقیم رویداد به آنها، از المان والد (book-list) برای مدیریت کلیکها و حذف سطر مربوطه استفاده خواهیم کرد.
در این بخش از آموزش، برای جلوگیری از ثبت اطلاعات ناقص، قابلیت اعتبارسنجی (Validation) را به فرم پروژه اضافه میکنیم. همچنین متد showAlert را برای نمایش پیامهای موفقیت یا خطا با استایل مناسب در رابط کاربری پیادهسازی میکنیم
در این بخش، منطق اصلی پروژه Book List را با استفاده از مفاهیم کلاسیک برنامهنویسی شیگرا در ES5 (سازندهها و پروتوتایپها) پیادهسازی میکنیم. دو سازنده (`Constructor`) تعریف میکنیم: یکی برای مدیریت دادههای کتاب و دیگری برای مدیریت عملیاتهای رابط کاربری (UI).
در این آموزش، پروژهای ساده برای مدیریت فهرست کتابها را آغاز میکنیم تا مفاهیم برنامهنویسی شیگرا در جاوااسکریپت را در عمل ببینیم. هدف این است که ابتدا پروژه را با سینتکس ES5 و الگوی Constructor/Prototype پیادهسازی کنیم و سپس همان ساختار را با کلاسهای ES6 بازنویسی کنیم.
در این آموزش، با نحوه پیادهسازی وراثت در کلاسهای مدرن ES6 جاوااسکریپت آشنا میشویم. یاد میگیریم چگونه با استفاده از کلمات کلیدی `extends` و `super`، یک کلاس والد (Parent Class) را گسترش دهیم و کلاسهای فرزند (Subclasses) بسازیم که ویژگیها و متدهای کلاس والد را به ارث میبرند.
در این آموزش با کلاسهای ES6 در جاوااسکریپت آشنا میشویم. کلاسها روشی مدرن، تمیز و استاندارد برای برنامهنویسی شیگرا هستند که کار با اشیاء را بسیار سادهتر کردهاند. یاد میگیریم که کلاسها در واقع همان ساختار پروتوتایپی قبلی هستند که با «سینتکس آسانتر» (Syntactic Sugar) بازنویسی شدهاند.