لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش جاوا اسکریپت حرفه ای 2023 (از مبتدی تا پیشرفته!)
Professional JavaScript 2023 (Beginner to Advanced!)
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
این منبع شماره 1 برای تسلط بر جاوا اسکریپت مدرن است! با ساخت پروژه های واقعی و زیبا، جاوا اسکریپت ES6+ مدرن را بیاموزید. نحوه کدنویسی JS در سال 2023 با ساخت پروژه های واقع گرایانه از ابتدا و دیدن اینکه چگونه همه اینها با هم تطبیق می کنند بهترین روش ها در سال 2023 از صدها اشتباه مبتدی اجتناب کنید تا افرادی که باید با کد شما تعامل داشته باشند، به راحتی به اصول اولیه JS/برنامه نویسی مسلط شوند: var/let/const، توابع، اشیاء و آرایهها، و غیره. بهترین روشهای حیاتی که هر توسعهدهنده JS باید بداند (مانند نحوه استفاده از async/wait) یاد بگیرید چگونه با استفاده از fetch () با یک API به درستی ارتباط برقرار کنید. : توابع پیکان، تخریب ساختار، اپراتور گسترش، و غیره. پس از آن به راحتی به React/NextJS/Angular/Vue یا NodeJS مسلط شوید، زیرا به مفاهیمی که اغلب در آن فریم ورک ها استفاده می شوند تسلط دارید، برنامه های وب مدرن بدون چارچوب بسازید و ببینید چرا مردم از React یک فرآیند ساخت ساده استفاده می کنند. JS با بسته وب و Babel BONUS: با گذراندن دوره، طبیعتاً طراحی/HTML/CSS را نیز بهبود خواهید داد.
-- جدید در UDEMY (فقط دوره های من را به Udemy تغییر دادم) --
این منبع شماره 1 برای تسلط بر جاوا اسکریپت مدرن (ES6+) است!
جاوا اسکریپت خود را با ساختن پروژه های زیبا و واقعی از ابتدا به سطح پیشرفته و حرفه ای ببرید (2 پروژه کوچک مبتدی، 1 پروژه بزرگ متوسط و 1 پروژه بزرگ پیشرفته). دوره های دیگر ابتدا از مفاهیم قدیمی شروع می شوند (مانند ES5 و پایین تر) -- ما از همان ابتدا از مفاهیم مدرن استفاده خواهیم کرد (ES6+ مانند توابع const/let و arrow -- البته به درستی توضیح داده شده است).
پروژه های دوره
پروژه های سطح بالا و دنیای واقعی. مهندسی ماهر برای کمک به شما در کدنویسی برنامه های وب وب سایت های مدرن با جدیدترین بهترین شیوه ها.
2 پروژه کوچک مبتدی:
شمارنده فانتزی: یک برنامه پیشخوان مفید بسازید
تجزیه و تحلیل کلمات: یک برنامه تجزیه و تحلیل کلمات نرم بسازید
1 پروژه متوسط بزرگ:
CorpComment : یک ابزار بازخورد عمومی شیک بسازید
1 پروژه پیشرفته بزرگ:
rmtDev : یک تابلوی شغلی شیک برای کارهای توسعه دهنده راه دور بسازید
آنچه خواهید آموخت
1) نحوه کدنویسی JS در سال 2023 با ساختن پروژه های واقع گرایانه از ابتدا و دیدن اینکه چگونه همه با هم هماهنگ می شوند
2) از صدها اشتباه مبتدی اجتناب کنید تا افرادی که باید با کد شما تعامل داشته باشند این کار را آسان کنند
3) تسلط عمیق بر اصول اولیه JS/برنامهنویسی: var/let/const، توابع، آرایههای اشیاء و غیره.
4) بهترین شیوه های حیاتی که هر برنامه نویس JS باید بداند (مثلاً نحوه استفاده از async/await)
5) نحوه برقراری ارتباط صحیح با یک API با استفاده از fetch()
را بیاموزید
6) اضافات مهم به JS را بیاموزید: توابع پیکان، ساختارشکنی، عملگر گسترش، و غیره.
7) پس از آن به راحتی به React/Angular/Vue یا Node.js مسلط شوید زیرا به مفاهیمی که اغلب در آن فریم ورک ها استفاده می شوند تسلط دارید
8) برنامه های وب مدرن بدون چارچوب بسازید و ببینید چرا مردم از React استفاده می کنند
9) یک فرآیند ساخت ساده برای JS با webpack و Babel
پیاده سازی کنید
10) پاداش: با گذراندن دوره، طبیعتاً طراحی/HTML/CSS را نیز بهبود خواهید داد
به طور خاص، اینها مفاهیمی هستند که شما بدون ترتیب خاصی یاد خواهید گرفت
جاوا اسکریپت چیست با آن چه کنیم
نحوه گنجاندن JS در فایل HTML ('defer')
var/let/const
زمان استفاده از let به جای const
تسلط عمیق بر ساختارهای انواع داده (آرایه ها، اشیاء و غیره)
تسلط عمیق بر توابع (عملکردهای سنتی در مقابل پیکان)
الفظ الگو (``)
اپراتور سه تایی (? :)
نحوه دستکاری HTML (که دستکاری DOM نیز نامیده می شود) -- querySelector()، دریافت ورودی کاربر از قسمت ورودی، غیرفعال کردن دکمه ها، و غیره.
نحوه دستکاری CSS
برخورد با رویدادها (مانند کلیک و تایپ رویدادها)
تخصیص رویداد (حباب کردن رویداد)
برخورد با فرمها (کاربر دادهها را ارسال میکند -- بسیار رایج است)
نحوه عملکرد وبسایتها و برنامههای وب مدرن معمولاً از منظر جاوا اسکریپت
عبارات if-else
setTimeout()
اپراتور
روش های آرایه (به عنوان مثال .forEach()، .map()، .slice()، .join())
روش های رشته ای (به عنوان مثال .includes()، .trim())
مفهوم DRY (خودت را تکرار نکن)
نحوه استخراج کدهای تکراری در تابع کمکی خودش
نحوه برقراری ارتباط صحیح با سرورها
fetch() API
دریافت درخواستها
درخواستهای POST
AJAX
نحوه کار با JSON
کد همزمان در مقابل ناهمزمان
قول می دهد (.then و .catch)
رسیدگی به خطا (پرتاب خطای جدید)
کدهای وضعیت HTTP 2xx، 4xx و 5xx
ناهمگام سازی/در انتظار
امتحان/گرفتن
"state" و "rendering" چیست
ساختار/معماری کلی
ساختار پوشه
متداول ترین حلقه (forEach)
افزایش یا کاهش 1 (++ و --)
اپراتور unary plus (+)
مژولار بودن (IIFE در مقابل تفکیک کد JS شما به چندین فایل)
نحوه برخورد با XSS
نظرات در JS
عبارات منظم
ساختار URL (طرح/پروتکل، دامنه، پارامترهای رشته پرس و جو)
تخریب کننده
تعریف نشده و پوچ
مقادیر واقعی و نادرست
زنجیره کردن اختیاری (?.)
واردات/صادرات (ماژولهای ES) در مقابل require/module.exports (CommonJS)
صادرات با نام صادرات در مقابل صادرات پیشفرض
مقدار پیشفرض برای پارامتر تابع
بازسازی چیست
توابع کمکی/کمکی
ویژگیهای رایج مانند مرتبسازی صفحهبندی
را پیادهسازی کنید
مسیریابی (به عنوان مثال نحوه دستکاری URL)
شیء پنجره
DOMContentLoaded
LocalStorage
فرایند ساخت (وبک، Babel، PostCSS)
قالببندی در JS (نقطه ویرگول، زبانه در مقابل فاصله)
برای حلقه
و بیشتر! (نمی توان همه چیز را در اینجا گنجاند)
از کشمکش با جاوا اسکریپت برای سالهای آینده خودداری کنید. به امید دیدار شما در دوره!
سرفصل ها و درس ها
معرفی
Introduction
مقدمه (چرا JS بسیار سودآور است و پروژه های دوره ای)
Introduction (Why JS Is So Profitable & Course Projects)
یادگیری کد شماره 1 - طرز فکر (سندرم و اعتماد به نفس تقلب کننده)
Learning to Code #1 - Mindset (Imposter Syndrome & Confidence)
آموزش کد شماره 2 - منحنی یادگیری شیب دار = مانع ورود
Learning to Code #2 - Steep Learning Curve = Barrier to Entry
آموزش کد شماره 3 - StackOverflow برای مبتدیان
Learning to Code #3 - StackOverflow for Beginners
راه اندازی محیط توسعه ما شماره 1: مرورگر (سهم بازار)
Setting Up Our Development Environment #1: Browser (Market Share)
راه اندازی محیط توسعه ما شماره 2: ویرایشگر کد
Setting Up Our Development Environment #2: Code Editor
قبل از شروع بخوانید: منابع پروژه (مانند نشانیهای اینترنتی تصویر)
READ BEFORE STARTING: Project resources (e.g. image URLs)
جاوا اسکریپت مبتدی
Beginner JavaScript
اصول HTML و CSS برای توسعه دهندگان جاوا اسکریپت
HTML & CSS Fundamentals for JavaScript Developers
متغیرها و انواع داده ها (مقدمه)
Variables and Data Types (Intro)
'var' & strings
'var' & Strings
شماره
Numbers
snake_case vs kebab-case vs camelcase
snake_case vs kebab-case vs camelCase
var vs let vs const
var vs let vs const
بولین ها
Booleans
آرایه ها
Arrays
اشیاء
Objects
خروجی مقادیر متغیر در کنسول
Outputting Variable Values in Console
توابع سنتی (اعلام عملکرد)
Traditional Functions (Function Declarations)
ورودی تابع (که «پارامتر» یا «آرگومنت» نیز نامیده میشود)
Function Input (Also Called 'Parameter' or 'Argument')
برگرداندن چیزی از عملکرد
Returning Something From Function
خلاصه توابع
Summary of Functions
تابع سنتی جایگزین (عبارات تابع)
Alternative Traditional Function (Function Expressions)
توابع پیکان
Arrow Functions
توابع پیکان ( نحو کوتاهتر)
Arrow Functions (Shorter Syntax)
نحوه نامگذاری توابع
How to Name Functions
الحاق رشته
String Concatenation
الفاظ قالب (`` -- بک تیک در جاوا اسکریپت)
Template Literals (`` -- Backticks in JavaScript)
بیانیه if-else (> و <اپراتورها)
if-else Statement (> and < Operators)
== در مقابل === اپراتورهای برابری
== vs === Equality Operators
سایر اپراتورها (>=، <=، !، !=، &&، ||)
Other Operators (>=, <=, !, !=, &&, ||)
اپراتور سه تایی (؟ :)
Ternary Operator (? :)
ارزش های درست و نادرست
Truthy & Falsy Values
var vs let
var vs let
انتخاب عناصر HTML با جاوا اسکریپت
Selecting HTML-Elements With JavaScript
دستکاری HTML با جاوا اسکریپت (دستکاری DOM)
Manipulating HTML With JavaScript (DOM Manipulation)
متن در مقابل innerHTML
textContent vs innerHTML
innerHTML در مقابل insertAdjacentHTML (درج HTML با جاوا اسکریپت)
innerHTML vs insertAdjacentHTML (Inserting HTML With JavaScript)
گزینه 1 - دستکاری CSS با جاوا اسکریپت ('style')
Option 1 - Manipulating CSS With JavaScript ('style')
گزینه 2 - دستکاری CSS با جاوا اسکریپت ('classList')
Option 2 - Manipulating CSS With JavaScript ('classList')
رویدادها و عملکردهای مدیریت رویداد
Events and Event Handler Functions
اشتباه رایج با addEventListener
Common Mistake With addEventListener
این بخش تمام شد! آفرین!
Finished This Section! Well Done!
واکشی مثال API (دریافت داده و نمایش در صفحه)
Fetch API Example (Get Data & Display On Page)
واکشی خلاصه سریع API
Fetch API Quick Summary
DOM متوسط شماره 1: دستکاری DOM
Intermediate DOM #1: Manipulating the DOM
DOM متوسط شماره 2: شی رویداد
Intermediate DOM #2: Event Object
DOM متوسط شماره 3: حباب رویداد و نمایندگی رویداد
Intermediate DOM #3: Event Bubbling & Event Delegation
پروژه 1: CorpComment
Project 1: CorpComment
معرفی پروژه
Project Introduction
راه اندازی پروژه
Project Setup
VS Code Extension: Live-Server
VS Code Extension: Live-Server
Counter Component (JS Fundamentals، DOM Manipulation، رویدادها)
Counter Component (JS Fundamentals, DOM Manipulation, Events)
ارسال مؤلفه (فرم داده ها و If/Else و setTimeout() و روش های آرایه و `` & ? :)
Submit Component (Form Data & If/Else & setTimeout() & Array Methods & `` & ? :)
Refactoring (اصل DRY و ثابت و استخراج منطق تکراری به تابع)
Refactoring (DRY Principle & Constants & Extract Repetitive Logic Into Function)
جزء لیست بازخورد (دریافت داده با Fetch & AJAX & JSON & Promises & Errors)
Feedback List Component (Get Data With Fetch & AJAX & JSON & Promises & Errors)
Refactoring بیشتر (میانبر هنگامی که نام ویژگی شی = ارزش و [].forEach())
More Refactoring (Shortcut When Object Property Name = Value & [].forEach())
فرم/ارسال مؤلفه (پست داده با واکشی و JSON و سرصفحه ها و مدیریت خطا)
Form/Submit Component (Post Data With Fetch & JSON & Headers & Error Handling)
مؤلفه فهرست بازخورد - گسترش و رأی موافق (تعویض رویداد/حباب و ++/--)
Feedback List Component - Expand & Upvote (Event Delegation / Bubbling & ++/--)
جزء لیست هشتگ (===/!== & forEach() & querySelector())
Hashtag List Component (=== / !== & forEach() & querySelector())
Final Loose Ends (Modularity/IIFE & Naming Things & XSS)
Final Loose Ends (Modularity / IIFE & Naming Things & XSS)
جاوا اسکریپت پیشرفته
Advanced JavaScript
میانبرهای کد VS
VS Code Shortcuts
آرایه ها (پیشرفته)
Arrays (Advanced)
اشیاء (پیشرفته)
Objects (Advanced)
توابع (پیشرفته)
Functions (Advanced)
در حال تخریب
Destructuring
اپراتور پخش (...)
Spread Operator (...)
مقادیر اولیه در مقابل مقادیر مرجع
Primitives vs Reference Values
تعریف نشده و پوچ
undefined and null
اتصال کوتاه با && و ||
Short Circuiting With && and ||
واکشی API با Async Await
Fetch API With Async Await
ماژول های ES (واردات/صادرات)
ES Modules (import / export)
مسیرهای فایل
File Paths
حلقه های دیگر (در حالی که و برای از)
Other Loops (while & for of)
سوئیچ بیانیه
Switch Statement
شی پنجره
Window Object
ریاضی
Math
تاریخ
Date
برنامه نویسی OOP در جاوا اسکریپت
OOP Programming in JavaScript
وعده ها
Promises
حلقه رویداد (چگونه جاوا اسکریپت زیر سرپوش کار می کند)
Event Loop (How JavaScript Works Under the Hood)
پروژه 2: rmtDev
Project 2: rmtDev
معرفی پروژه
Project Introduction
راه اندازی پروژه
Project Setup
مؤلفه جستجو (عبارات منظم و واکشی API و ساختارشکنی و [].slice())
Search Component (Regular Expressions & Fetch API & Destructuring & [].slice())
جزء لیست شغل (تعریف نشده/تهی، &&، ? .، [].map، [].join())
Job List Component (Undefined / Null, &&, ? ., [].map, [].join())
ماژولار بودن با ماژول های ES (ساختار پوشه و صادرات/واردات)
Modularity with ES Modules (Folder Structure & Export / Import)
مؤلفه خطا («Rendering» و پیشفرض در مقابل صادرات نامگذاری شده و پارامترهای پیشفرض Fn)
Error Component ('Rendering' & Default vs Named Export & Default Fn Parameters)
Refactoring (اهمیت ساختار خوب در Codebase)
Refactoring (Importance Of Good Structure In Codebase)
Refactoring بیشتر (جزئیات شغلی)
More Refactoring (Job Details Component)
بهبود تماسهای واکشی (ساختار خوب برای تماسهای fetch() و کدهای وضعیت 2xx، 4xx)
Improving Fetch Calls (Good Structure For fetch() Calls & 2xx, 4xx Status Codes)
Async/Await (در مقابل .then & try/catch & Promises)
Async / Await (vs .then & try / catch & Promises)
مرتبسازی جزء ۱ (مرتبسازی دادهها و «وضعیت»)
Sorting Component Part 1 (Sorting Data & 'State')
وضعیت («وضعیت» و وضعیت محلی در مقابل وضعیت جهانی و اشیاء و آرایههای در حال تغییر چیست)
State (What Is 'State' & Local vs Global State & Mutating Objects And Arrays)
مرتب سازی جزء 2 - [].sort()
Sorting Component Part 2 - [].sort()
مؤلفه صفحه بندی (++ در مقابل -- & [].slice())
Pagination Component (++ vs -- & [].slice())
مورد فعال شغلی - [].find()
Active Job Item - [].find()
مؤلفه نشانکها (رویدادهای Mouseenter در مقابل Mouseleave و [].some() و [].filter())
Bookmarks Component (Mouseenter vs Mouseleave Events & [].some() & [].filter())
مولفه ذخیره سازی (LocalStorage for Persisting Data & Spread Operator ...)
Storage Component (LocalStorage For Persisting Data & Spread Operator ...)
مراقبت از جزئیات
Taking Care of Details
فرآیند ساخت (Webpack & Babel & PostCSS و بهینهسازیهای دیگر)
Build Process (Webpack & Babel & PostCSS & Other Optimizations)
مکمل
Supplemental
تابع کمکی برای قالب بندی تاریخ - new Date()
Helper Function for Formatting Date - new Date()
برای حلقه ([].forEach() و دیگر متدهای آرایه تقریباً به طور کامل جایگزین ())
For Loop ([].forEach() And Other Array Methods Almost Completely Replaced for())
قالب بندی در JS (نقطه ویرگول و برگه ها در مقابل فضاها)
Formatting in JS (Semicolons & Tabs vs Spaces)
بسته شدن
Closing
تبریک می گویم! (سخنرانی پاداش)
Congratulations! (BONUS Lecture)
نمایش نظرات