آموزش جاوا اسکریپت – جلسه ۰ – سرفصل های دوره
۱۳۹۹/۰۲/۱۰
ارسال شده توسط Rahkar_Admin
951 بازدید

با سلام و ادب خدمت شما کاربران محترم سایت راهکارینو (Rahkarino.com).
با دوره جامع و رایگان زبان برنامه نویسی جاوا اسکریپت (Javascript Programming Language) در خدمتتان هستیم. در این بخش سرفصل های این دوره را بیان خواهیم کرد. لطفا با بیان نظرات و یا طرح سوالات خود در بخش دیدگاه های زیر مقاله ما را در نگارش هر چه بهتر آموزش ها یاری کنید.
جلسه 1 (مقدمه):
- زبان برنامه نویسی جاوا اسکریپت چیست و چگونه در مرورگرها اجرا می شود؟
- منابع آموزشی معتبر زبان javascript کدامند؟
- ویژگی های منحصر بفرد زبان برنامه نویسی javascript چیست؟
- ویرایشگر یا ادیتور مناسب برای توسعه کدهای جاوااسکریپت کدام است؟
- زبان های برنامه نویسی جانبی javascript کدامند؟
- نحوه مشاهده کدهای جاوا اسکریپت در مرورگرهای مختلف به چه شکل است؟
جلسه 2 (متغیرها-انواع داده و نحوه تبدیل آنها):
- نحوه تعریف تگ script
- قواعد تعریف دستورات جاوا اسکریپت
- مفهوم use strict
- متغیرها، قواعد نام گذاری آنها و تفاوت let و var
- انواع داده ها در جاوا اسکریپت و نحوه تبدیل آنها
جلسه 3 (انواع عملگرها، حلقه ها و تعامل مرورگر با کاربر):
- عملگر جمع و تفریق و توان و ضرب و باقیمانده و کاهشی/افزایشی
- عملگرهای مقایسه ای (مقایسه رشته ها، بولین، اعداد، null و undefined)
- عملگرهای شرطی (if و else چندگانه، عملگر شرطی علامت سوال؟)
- عملگرهای منطقی (AND و OR و NOT)
- نمایش پیغام در تعامل با کاربر (Alert, Prompt, Confirm)
- حلقه های for و while و do..while و switch-case
جلسه 4 (توابع):
- تعریف توابع بصورت Declaration و Expression و مقایسه آنها
- بررسی توابع Callback
- بررسی توابع Arrow
جلسه 5 (خطایابی-Debugging):
- فرآیند Debugging
- استفاده از کنسول گوگل کروم
- Break point
- دستور debugger
- پیمایش یا trace برنامه
- نمایش لاگ (logging)
جلسه 6 (استایل کدنویسی):
- اسکریپت نویسی بصورت استاندارد با رعایت موارد زیر:
- Curly braces, line-length, indent, semi-colon, nesting-levels, linters, commenting
جلسه 7 (آبجکت Object):
- تعریف آبجکت، دسترسی به آبجکت و حذف و اضافه کردن آیتم در آن
- قوانین نام گذاری آبجکت ها
- بررسی وجود property در آبجکت توسط کلمه کلیدی in
- بررسی تمام کلیدهای آبجکت توسط حلقه for..in
- مقایسه آبجکت ها در جاوا اسکریپت
- بررسی متدهای Clone و Merge و Object.assign
- تعریف متد در آبجکت
- متد سازنده (constructor) و کلمه new
جلسه 8 (انواع داده Data Types):
- نوع داده primitive و تفاوت آن با آبجکت
- نوع داده ای اعداد: اعداد هگز، باینری و اکتال، رند کردن اعداد، متد toString
- نوع داده ای رشته: طول رشته، دسترسی به کاراکترهای رشته، جستجوی زیر رشته، متدهای endsWith و startsWith و includes، متدهای slice, subStr, subString
- نوع داده ای JSON: دلایل استفاده از json، متدهای parse و stringify
جلسه 9 (آرایه Array):
- روش های مختلف تعریف آرایه
- آرایه های چند بعدی
- متدهای pop/push و shift/unshift و مقایسه آنها از لحاظ کارایی
- اجرای حلقه روی آیتم های آرایه
- متدهای slice, splice, concat, forEach, indexOf/lastIndexOf, include, find, findIndex, filter, map, sort, reverse, split, join, reduce, isArray
جلسه 10 (ساختارهای پیچیده SET و MAP):
- نوع داده ای map: لیست متدها و property های map، پیمایش و اجرای حلقه در map، تبدیل object به map
- نوع داده ای set: لیست متدهای set، لوپ زدن روی set و متدهای set
جلسه 11 (تاریخ/زمان Date/Time):
- روش های مختلف تعریف Date: تعریف new Date بدون آرگومان ورودی، تعریف new Date(milliseconds)، تعریف new Date(year, month, date, hours, minutes, seconds, ms)
- تبدیل تاریخ به عدد
- متد Date.Now
- متد Date.Parse
جلسه 12 (رویدادهای ماوس):
- رویدادهای موس: mouseup, mousedown, mouseout, mouseover, mousemove, click, dbclick, contextmenu
- ترتیب اجرای رویدادهای ماوس
- جلوگیری از کپی شدن متن توسط ماوس، جلوگیری از انتخاب شدن متن
جلسه 13 (Local/Session Storage):
- تفاوت Cookie با Web Storage
- لیست متدها و propertyهای وب استوریج
- آبجکت ذخیره سازی Local Storage و دسترسی به آیتم های local-storage، پیمایش روی آنها
- آبجکت session storage و رویداد storage
جلسه 14 (انیمیشن Animation):
- متد های requestAnimationFrame و setInterval
- توابع Timing: به توان n، آرک (arc)، back، bounce، elastic و…
- افکت های ease: easeIn, easeOut, easeInOut
- افکت تایپ متن
جلسه 15 (تعریف استایل و css):
- روش های تعریف استایل های CSS
- متدهای className و classList
- ریست کردن استایل های المان
- تعریف چند استایل در cssText
- خواندن استایل های تعریف شده توسط getComputedStyle
جلسه 16 (دیزاین پترن):
- تعریف دیزاین پترن و فواید آن
- انواع دیزاین پترن در جاوا اسکریپت: Module, Singleton, Factory, Decorator
جلسه 17 (مفهوم Promise):
- مفهوم promise در جاوا اسکریپت و کاربرد آن
- روند اجرای ناهمگام (async) اسکریپت ها
- روند اجرای همگام (sync) اسکریپت ها
جلسه 18 (مفاهیم async و defer):
- ایرادات اجرای دستورات جاوا اسکریپت بصورت همگام یا async
- رفع نواقص فوق بصورت مقطعی و بصورت اصولی
جلسه 19 (پارامترهای rest و spread):
- پارامترهای rest در جاوا اسکریپت
- ساختار spread در جاوا اسکریپت
- گرفتن لیست تمام آرگومان های تابع توسط arguments
- کپی کردن یک آبجکت یا آرایه
جلسه 20 (مدیریت خطا توسط try-catch):
- محتویات آبجکت Error در بلاک catch
- مثالی از بلاک try-catch
- عملگر throw در بلاک catch
- ساختار try-catch-finally
جلسه 21 (مبحث شی گرایی و کلاس):
- روش های تعریف class در جاوا اسکریپت
- تعریف Getter/Setter
- تعریف فیلدهای محاسباتی توسط براکت
- ارث بری کلاس ها و کلمه کلیدی extend
- Override کردن متد
جلسه 22 (درخت DOM):
- درخت DOM در HTML چیست؟
- دسترسی به عناصر DOM در جاوا اسکریپت
- انواع Node ها در HTML DOM
- مشاهده DOM در مرورگر
- پیمایش DOM: متدهای childNodes, lastChild, parent, siblings, …
- جستجوی عناصر موردنظر در DOM: متدهای closest, matches, querySelector, querySelectorAll و…
جلسه 23 (تغییر DOM):
- تولید عنصر جدید، درج عناصر در DOM، حذف عناصر از DOM، کپی کردن عنصر و…
جلسه 24 (کوکی Cookie):
- کوکی چیست و کاربردهای آن
- خواندن کوکی از document.cookie و نوشتن کوکی در آن
- تنظیمات کوکی: path, domain, max-age, expires, secure, httpOnly
- توابع کار با کوکی: setCookie و getCookie و deleteCookie
- چند مثال از کار با کوکی در جاوا اسکریپت
جلسه 25 (سوالات رایج در مصاحبه های استخدامی):
- لیستی از سوالات متداول جاوا اسکریپت که معمولا در مصاحبه های استخدامی شرکت ها مطرح می شوند به همراه پاسخ تشریحی
جلسه 26 (تست نویسی Testing):
- انواع تست نویسی و ابزارهای پیاده سازی آنها
- انجام تنظیمات وب پک برای پروژه
- اجرای تست واحد (unit test) توسط JEST
- اجرای تست integration توسط JEST
- اجرای تست End-to-End توسط Puppeteer
- تست API در جاوا اسکریپت
جلسه 27 (ماژول Module):
- ماژول چیست و چه ویژگی هایی دارد؟
- Import و export کردن ماژول و انواع روش های پیاده سازی آن
- نحوه import کردن داینامیک ماژول ها در جاوا اسکریپت
جلسه 28 (اسکرول صفحه + سایز عناصر):
- بدست آوردن خاصیت های هندسی عناصر DOM توسط متدهایی مانند: offsetLeft/Top , offsetWidth/Height , clientTop/Left , scrollHeight/Width , scrollLeft/Top
- بدست آوردن سایز ویندوز و عناصر + اسکرول کردن صفحه توسط متدهایی مانند: scrollTo, scrollBy, scrollIntoView, pageYOffset, pageXOffset, …
- نحوه غیر فعال کردن اسکرول صفحه توسط جاوا اسکریپت
جلسه 29 (سوالات تستی + پاسخ تشریحی):
پانزده سوال چند گزینه ای جاوا اسکریپت به همراه پاسخ های تشریحی در موضوعات مختلف مانند:
- مبحث Hoisting در جاوا اسکریپت،
- حوزه تعریف متغیرهای let و const،
- ترتیب اجرای عملگرهای ریاضی،
- کار با آبجکت ها و چالش های آن (مثل تبدیل کلید آبجکت به رشته یا تغییر رفرنس آبجکت و…)،
- کاربردهای دستور use strict،
- اتصال رشته ها (concatenate)،
- استفاده از template literal،
- بررسی تساوی انواع داده ها و…
جلسه 30 (ویژگی های جدید اکما اسکریپت 2020):
لیست تمام نسخه های اکما اسکریپت به همراه تغییرات هر ورژن + تشریح ویژگی های جدید اکما اسکریپت 2020:
- prototype.matchAll
- Dynamic Import
- BigInt
- allSettled
- globalThis
- Nullish Coalescing
- Optional Chaining
- flat() , flatMap()
- Private classes variables
- fromEntries()
برای شروع دوره جامع جاوا اسکریپت می توانید از جلسه اول شروع کنید. با ما همراه باشید…!
فهرست مطالب پنهان
دیدگاهتان را بنویسید