Forwarded from Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب (Mehrshad)
لینک های دانلود دوبله دوره جاوااسکریپت جوناس:
فصل اول - فصل دوم - فصل سوم - فصل چهارم - فصل پنجم - فصل ششم - فصل هفتم - فصل هشتم - فصل نهم - فصل دهم - فصل یازدهم - فصل دوازدهم - فصل سیزدهم - فصل چهاردهم - فصل پانزدهم - فصل شانزدهم - فصل هفدهم - فصل هجدهم - فصل نوزدهم - فصل بیستم
فایل های مورد نیاز دوره
لینک های دانلود دوبله دوره ریکت جوناس:
فصل اول - فصل دوم - فصل سوم - فصل چهارم - فصل پنجم - فصل ششم - فصل هفتم - فصل هشتم - فصل نهم - فصل دهم - فصل یازدهم - فصل دوازدهم - فصل سیزدهم - فصل چهاردهم (چون تقریبا نیازی بهش ندارید، دوبله نشده) - فصل پانزدهم - فصل شانزدهم - فصل هفدهم - فصل هجدهم (بخش اول - بخش دوم) - فصل نوزدهم - فصل بیستم - فصل بیست و یکم - فصل بیست و دوم - فصل بیست و سوم - فصل بیست و چهارم - فصل بیست و پنجم - فصل بیست و ششم - فصل بیست و هفتم - فصل بیست و هشتم - فصل بیست و نهم (بخش اول - بخش دوم - بخش سوم) - فصل سی ام
فایل های مورد نیاز دوره
فصل اول - فصل دوم - فصل سوم - فصل چهارم - فصل پنجم - فصل ششم - فصل هفتم - فصل هشتم - فصل نهم - فصل دهم - فصل یازدهم - فصل دوازدهم - فصل سیزدهم - فصل چهاردهم - فصل پانزدهم - فصل شانزدهم - فصل هفدهم - فصل هجدهم - فصل نوزدهم - فصل بیستم
فایل های مورد نیاز دوره
لینک های دانلود دوبله دوره ریکت جوناس:
فصل اول - فصل دوم - فصل سوم - فصل چهارم - فصل پنجم - فصل ششم - فصل هفتم - فصل هشتم - فصل نهم - فصل دهم - فصل یازدهم - فصل دوازدهم - فصل سیزدهم - فصل چهاردهم (چون تقریبا نیازی بهش ندارید، دوبله نشده) - فصل پانزدهم - فصل شانزدهم - فصل هفدهم - فصل هجدهم (بخش اول - بخش دوم) - فصل نوزدهم - فصل بیستم - فصل بیست و یکم - فصل بیست و دوم - فصل بیست و سوم - فصل بیست و چهارم - فصل بیست و پنجم - فصل بیست و ششم - فصل بیست و هفتم - فصل بیست و هشتم - فصل بیست و نهم (بخش اول - بخش دوم - بخش سوم) - فصل سی ام
فایل های مورد نیاز دوره
بزودی یکسری از دوره های رایگان بعضی از مباحث که فکر میکنم خوبن رو قرار میدم
خب یکسری دوره های مربوط به فرانت اند رو میخوام بزارم براتون
دوره html css ( صوفی لرن ) کامل و جامع رایگان
https://youtube.com/playlist?list=PLOjAN00I0bBc&si=ZjnFSxeRlis9WwHE
دوره فلکس باکس ( سالار حقیقت نیا ) رایگان
https://youtube.com/playlist?list=PLprvbQiR3cN-fVGiLy0DrevvfjJaFUNFq&si=AP6fuKwhV63lN6yT
دوره فلکس باکس ( سبز لرن )
https://sabzlearn.ir/course/flex-box/
دوره فلکس باکس ( میلاد بهرامی ) رایگان
https://youtube.com/playlist?list=PLhpS3tgUDZcpcJ9hfsSXZN0xEbNkBcR0n&si=_r9hahFObfmezdy4
دوره سی اس اس گرید ( سبز لرن )
https://sabzlearn.ir/course/css-grid/
دوره تیلویند ( سالار حقیقت نیا )
https://youtube.com/playlist?list=PLprvbQiR3cN9Mt_rINlJX6UOn4utVPBX2&si=86RV8F_6_4SB3rLI
دوره تیلویتد ( میلاد بهرامی )
https://youtube.com/playlist?list=PLhpS3tgUDZcp1fZLQu5I58ubM8B5ahBya&si=sKVvaBAFt10mcmk0
دوره گیت و گیت هاب ( میلاد بهرامی )
https://youtube.com/playlist?list=PLhpS3tgUDZcpamFNTdjXyRKzFGaBAkcLq&si=s6X7aqx2WXVPpeyK
دوره جاواااسکریپت
صوفی لرن (پیشنهادی) پولی
https://soufilabs.ir/pages/single-course.html?course=khore-javascript
دوره جاوالسکریپت ( سالار حقیقت نیا )
https://youtube.com/playlist?list=PLprvbQiR3cN_s_scnGOn8hsp0QFHLz4uD&si=4tBMJ--G7f4phwfW
دوره جاوااسکریپت و ریکت ( جوناس )
https://t.me/undefinedee/273
دوره html css ( صوفی لرن ) کامل و جامع رایگان
https://youtube.com/playlist?list=PLOjAN00I0bBc&si=ZjnFSxeRlis9WwHE
دوره فلکس باکس ( سالار حقیقت نیا ) رایگان
https://youtube.com/playlist?list=PLprvbQiR3cN-fVGiLy0DrevvfjJaFUNFq&si=AP6fuKwhV63lN6yT
دوره فلکس باکس ( سبز لرن )
https://sabzlearn.ir/course/flex-box/
دوره فلکس باکس ( میلاد بهرامی ) رایگان
https://youtube.com/playlist?list=PLhpS3tgUDZcpcJ9hfsSXZN0xEbNkBcR0n&si=_r9hahFObfmezdy4
دوره سی اس اس گرید ( سبز لرن )
https://sabzlearn.ir/course/css-grid/
دوره تیلویند ( سالار حقیقت نیا )
https://youtube.com/playlist?list=PLprvbQiR3cN9Mt_rINlJX6UOn4utVPBX2&si=86RV8F_6_4SB3rLI
دوره تیلویتد ( میلاد بهرامی )
https://youtube.com/playlist?list=PLhpS3tgUDZcp1fZLQu5I58ubM8B5ahBya&si=sKVvaBAFt10mcmk0
دوره گیت و گیت هاب ( میلاد بهرامی )
https://youtube.com/playlist?list=PLhpS3tgUDZcpamFNTdjXyRKzFGaBAkcLq&si=s6X7aqx2WXVPpeyK
دوره جاواااسکریپت
صوفی لرن (پیشنهادی) پولی
https://soufilabs.ir/pages/single-course.html?course=khore-javascript
دوره جاوالسکریپت ( سالار حقیقت نیا )
https://youtube.com/playlist?list=PLprvbQiR3cN_s_scnGOn8hsp0QFHLz4uD&si=4tBMJ--G7f4phwfW
دوره جاوااسکریپت و ریکت ( جوناس )
https://t.me/undefinedee/273
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
همیشه در حال پیدا کردن بهترین کامیت:😂😂
❤3
میخوام در مورد سوالی که همیشه مطرح میشه نظر خودمو بگم
همیشه افرادی هستن که براشون سواله آیا با پیشرفت هوش مصنوعی خوبه من حوضه فرانت اند رو ادامه بدم یا نه؟ یا اصلا بیام سمت برنامه نویسی یا نه هوش مصنوعی جای برنامه نویس ها رو میگیره؟
کسایی برنده ان که از هوش مصنوعی استفاده میکنن به عنوان ابزار کمکی و بهبود سرعت کارشون.
همیشه افرادی هستن که براشون سواله آیا با پیشرفت هوش مصنوعی خوبه من حوضه فرانت اند رو ادامه بدم یا نه؟ یا اصلا بیام سمت برنامه نویسی یا نه هوش مصنوعی جای برنامه نویس ها رو میگیره؟
نوع سوال ها فرق داره اما وقتی وارد میشی تهش میرسیم به جایگاه برنامه نویس و هوش مصنوعی
دوستان به نظر من هوش مصنوعی العان در حال حاضر جای برنامه نویس رو نمیگیره و توی کد زدن به برنامه نویس کمک میکنه که سرعت کد زدنش افزایش پیدا بکنه و پروژه رو در زمان کمتری کامل کنه
هوش مصنوعی جای برنامه نویس های جونیور و سینیور رو نمیگیره فقط داره نحوه کار برنامه نویسا رو تغییر میده
هوش مصنوعی همینطور که گفتم یه ابزاره که به برنامه نویس کمک میکنه اما تضمین کننده نتیجه نیست
هوش مصنوعی میتونه کد بزنه اما برنامه نویس باید کد رو تمیز کنه باید امنیت و عملکرد اون کد با نیاز پروژه رو بررسی کنه
در ضمن کد نویسی فقط کد نویسی نیست ، فهم مسئله راه حل برای حل مشکل پروژه معماری دیباگ کردن و تصمیم گیری فنی پروژه بخش مهمی هستن که توسط برنامه نویس انجام میشه و هوش مصنوعی نمیتونه جاش رو بگیره
به جای ترسیدن از هوش مصنوعی یاد بگیریم چطور ازش استفاده کنیم تا بتونیم خروجی بهتری بگیریم
کسایی برنده ان که از هوش مصنوعی استفاده میکنن به عنوان ابزار کمکی و بهبود سرعت کارشون.
❤3 1
متد includes در جاوااسکریپت
این متد یکی از کاربردی ترین متد های جاوااسکریپت که داخل آرایه و یا یک متن رو بررسی میکنه و میبینه که مثلا عدد ۵ داخل آن وجود داره یا نه
مثال برای آرایه :
در مثال بالا میبینید که ما یک متغییر تعریف کردیم به نام fruits که داخلش یک آرایه قرار دادیم و داخل آرایه چند مقدار گذاشتیم
پایین متغییر لاگ گرفتیم برای بررسی و متد includes رو روی متغیر fruits فراخانی میکنیم
این متد میاد داخل متن یا آرایه دنبال کلمه ای که مشخص کردیم میگرده اگر وجود داشت اون مقدار داخل آرایه یا متن در جواب true رو بر میگردونه ولی اگر وجود نداشت false رو بر میگردونه
خب حالا بریم سراغ مثال متنی
در مثال بالا یک متن هست که یک متن در مورد جاوااسکریپت نوشته شده داخل متغیر و بعد لاگ گرفته و با متد includes اول دنبال کلمه Javascript بوده که چون داخل کلمه داخل متن هست مقدار true رو بر میگردونه
داخل لاگ بعدی دنبال کلمه Python بوده و چون داخل متن نبوده false رو برگردونده
این متد یکی از کاربردی ترین متد های جاوااسکریپت که داخل آرایه و یا یک متن رو بررسی میکنه و میبینه که مثلا عدد ۵ داخل آن وجود داره یا نه
مثال برای آرایه :
const fruits = ["apple", "banana", "orange"];
console.log(fruits.includes("banana"); // true
console.log(fruits.includes("grape"); // false
در مثال بالا میبینید که ما یک متغییر تعریف کردیم به نام fruits که داخلش یک آرایه قرار دادیم و داخل آرایه چند مقدار گذاشتیم
پایین متغییر لاگ گرفتیم برای بررسی و متد includes رو روی متغیر fruits فراخانی میکنیم
این متد میاد داخل متن یا آرایه دنبال کلمه ای که مشخص کردیم میگرده اگر وجود داشت اون مقدار داخل آرایه یا متن در جواب true رو بر میگردونه ولی اگر وجود نداشت false رو بر میگردونه
خب حالا بریم سراغ مثال متنی
const text = "I love JavaScript";
console.log(text.includes("JavaScript")); // true
console.log(text.includes("Python")); // false
در مثال بالا یک متن هست که یک متن در مورد جاوااسکریپت نوشته شده داخل متغیر و بعد لاگ گرفته و با متد includes اول دنبال کلمه Javascript بوده که چون داخل کلمه داخل متن هست مقدار true رو بر میگردونه
داخل لاگ بعدی دنبال کلمه Python بوده و چون داخل متن نبوده false رو برگردونده
❤3
📌 متد forEach در جاوااسکریپت
متد forEach برای پیمایش آرایه و اجرای یک تابع برای هر عنصر استفاده میشه.
🔹 مثال کاربردی:
📤 خروجی:
💡 چند نکته مهم:
- روی هر عنصر آرایه، تابع رو اجرا میکنه.
- بهصورت پیشفرض مقدار جدیدی برنمیگردونه ("undefined").
- برای متوقف کردن حلقه با break مناسب نیست.
- اگه به اندیس هر عنصر نیاز داشته باشی، میتونی پارامتر دوم رو بگیری:
✅ کِی ازش استفاده کنیم؟
وقتی میخوای روی تمام عناصر آرایه عملی انجام بدی؛ مثلاً نمایش نامها، چاپ اطلاعات یا اضافه کردن رویداد به عناصر صفحه.
متد forEach برای پیمایش آرایه و اجرای یک تابع برای هر عنصر استفاده میشه.
🔹 مثال کاربردی:
const names = ["Ali", "Sara", "Mohsen"];
names.forEach((name) => {
console.log(name);
});
📤 خروجی:
Ali
Sara
Mohsen
💡 چند نکته مهم:
- روی هر عنصر آرایه، تابع رو اجرا میکنه.
- بهصورت پیشفرض مقدار جدیدی برنمیگردونه ("undefined").
- برای متوقف کردن حلقه با break مناسب نیست.
- اگه به اندیس هر عنصر نیاز داشته باشی، میتونی پارامتر دوم رو بگیری:
names.forEach((name, index) => {
console.log(index, name);
});✅ کِی ازش استفاده کنیم؟
وقتی میخوای روی تمام عناصر آرایه عملی انجام بدی؛ مثلاً نمایش نامها، چاپ اطلاعات یا اضافه کردن رویداد به عناصر صفحه.
❤2
🌙 بعضی شبها، آدم نه خوابش میبرد، نه دلش میخواهد بیدار بماند...
فقط دلش میخواهد کمی کمتر فکر کند، کمی کمتر دلش بگیرد، و کمی بیشتر آرام باشد. 🖤
فقط دلش میخواهد کمی کمتر فکر کند، کمی کمتر دلش بگیرد، و کمی بیشتر آرام باشد. 🖤
🟨 متد map() در جاوااسکریپت
متد map() یکی از متدهای پرکاربرد آرایهها در جاوااسکریپت است که به ما اجازه میدهد روی تمام اعضای یک آرایه عملیات انجام دهیم و یک آرایه جدید با نتایج تغییریافته بسازیم.
📌 مثال ساده
در این مثال، هر عدد در ۲ ضرب شده و نتیجه در یک آرایه جدید قرار گرفته است.
💡 نکات مهم
- متد map() روی تمام اعضای آرایه اجرا میشود.
- آرایه اصلی را تغییر نمیدهد.
- آرایه جدیدی با همان تعداد اعضا برمیگرداند.
- برای تبدیل دادهها و ساخت لیستی از نتایج جدید بسیار کاربردی است.
🎯 چه زمانی از map() استفاده کنیم؟
وقتی میخواهیم اطلاعات یک آرایه را به شکل دیگری تبدیل کنیم؛ مثلاً قیمت محصولات را با تخفیف محاسبه کنیم، نام کاربران را استخراج کنیم یا اطلاعات را برای نمایش در صفحه آماده کنیم.
نکته برنامهنویسی: اگر فقط میخواهی روی اعضای آرایه حلقه بزنی و عملیات انجام بدهی، بدون اینکه آرایه جدیدی بسازی، معمولاً forEach() انتخاب مناسبتری است.
متد map() یکی از متدهای پرکاربرد آرایهها در جاوااسکریپت است که به ما اجازه میدهد روی تمام اعضای یک آرایه عملیات انجام دهیم و یک آرایه جدید با نتایج تغییریافته بسازیم.
📌 مثال ساده
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled);
// [2, 4, 6, 8]
در این مثال، هر عدد در ۲ ضرب شده و نتیجه در یک آرایه جدید قرار گرفته است.
💡 نکات مهم
- متد map() روی تمام اعضای آرایه اجرا میشود.
- آرایه اصلی را تغییر نمیدهد.
- آرایه جدیدی با همان تعداد اعضا برمیگرداند.
- برای تبدیل دادهها و ساخت لیستی از نتایج جدید بسیار کاربردی است.
🎯 چه زمانی از map() استفاده کنیم؟
وقتی میخواهیم اطلاعات یک آرایه را به شکل دیگری تبدیل کنیم؛ مثلاً قیمت محصولات را با تخفیف محاسبه کنیم، نام کاربران را استخراج کنیم یا اطلاعات را برای نمایش در صفحه آماده کنیم.
نکته برنامهنویسی: اگر فقط میخواهی روی اعضای آرایه حلقه بزنی و عملیات انجام بدهی، بدون اینکه آرایه جدیدی بسازی، معمولاً forEach() انتخاب مناسبتری است.
❤2
🔴امروز 7 آبان، سالروز بزرگداشت اولین و بزرگترین پادشاه هخامنشیان، کوروش بزرگه🤴
سال ۵۳۹ قبل از میلاد، در تاریخ ۷ آبان، کوروش بعد از جنگهای طولانی بابل رو فتح کرد و وارد این سرزمین شد.
مردم این منطقه تصور میکردن بعد از این فتح قراره توسط سربازان ایرانی کشته یا اسیر بشن؛ ولی برخلاف تفکر اونا، کوروش احترام زیادی واسشون قائل بود و ذرهای بهشون ستم نکرد.
سال ۵۳۹ قبل از میلاد، در تاریخ ۷ آبان، کوروش بعد از جنگهای طولانی بابل رو فتح کرد و وارد این سرزمین شد.
مردم این منطقه تصور میکردن بعد از این فتح قراره توسط سربازان ایرانی کشته یا اسیر بشن؛ ولی برخلاف تفکر اونا، کوروش احترام زیادی واسشون قائل بود و ذرهای بهشون ستم نکرد.
𝐔𝐧𝐝𝐞𝐟𝐢𝐧𝐞𝐝 ( 𝐣𝐬 )
در مورد import و export توی جاوااسکریپت پست بزارم؟ ریکشن بزارید.
قسمت اول export
در پروژه های وپچیک معمولا تمام کد ها رو توی یک فایل قرار میدیم ولی توی پروژه های بزرگ تر توی یک فایل نوشتن کد ها کار درستی نیست و خوانایی کد رو کم میکنه برای بهتر شدن خوانایی کد میتوانیم کد ها را در فایل جداگانه قرار بدیم و از قابلیت ماژول ها استفاده کنیم.
توی این پست میخوایم در مورد export بگیم و ادامه رو توی پست بعدی براتون می نویسم.
دستور export به ما این اجازه رو میده که متغیر ها و توابع و کلاس ها و سایر قابلیت هایی یک فایل رو برای استفاده توی یک فایل دیگ در دسترس بزاریم
بیاین یک مثال بزنیم برای درک بهتر مثلا شما میخواهید هدر وبسایت خودتان را به صورت داینامیک توی همه ی صفحات نمایش بدید اگر به صورت استاتیک این کار رو بخواید انجام بدید حتمی باید تمام کد های هدر رو توی تمام فایلا بزارید ولی با ماژول ها یک بار اون رو میسازید و export میگیرید و توی تمام صفحات فقط یک خط کد اضافه میکنید با اینکار هم کد خودتون خوانا تر میشه و هم از تکرار کد ها جلوگیری میشه.
بریم تو دل کد که کاربرد واقعی اون رو متوجه بشیم
برای مثال فایلی به نام calculator.js ایجاد میکنیم:
توی این مثال متغیر number و تایع sum با استفاده از export در دسترس ماژول های دیگ قرار گرفتند
یه نکته اینجا وجود داره متغیر ها و توابعی که صادر نشده اند به طور مستقیم از طریق این ماژول قابل وارد کردن نیستند.
مثلا:
توی این مثال فقط سن صادر شده و نام همچنان داخل همین ماژول باقی میماند
انواع export توی جاوااسکریپت
named export:
برای صادر کردن قابلیت هایی با نام مشخص میتوان چندین خروجی نام دار داشت
default export:
برای تعریف یک خروجی پیشفرض هر ماژول حداکثر یک خروجی پیش فرض دارد
من پیشنهاد میکنم از روش named export استفاده کنید و توی این پست هم همین روش رو توضیح میدم اگر خواستید روش دیفالت اکسپورت هم یاد بگیرید میسپارم به خودتون یه سرچی دربارش بکنید.
توی روش named export میتونیم چند متغیر تایبع یا کلاس را از یک فایل صادر کنیم هر خروجی نام مشخص خودشو داره
روش اول استفاده از export هنگام تعریف
توی این روش ما وقتی تایع یا متغیر را تعریف میکنیم همراهش اکسپورت هم میگیریم مثلا فرض کنید فایلی به نام user.js داریم:
توی این مثالی که زدم سه خروجی name , age , great داریم با این روش هرکدام از این قابلیت ها میتونند توی فایل های دیگ استفاده بشن
روش دوم استفاده از export در انتهای فایل
ما اول میتونیم متغیر ها تابع ها را تعریف کنیم و بعد همه را انتهای فایل صادر کنیم مثال:
این روش هم نتیجه روش قبلی رو داره تنها تفاوتش توی محل نوشتن export هست توی روش اول کنار تعریف هر قابلیت نوشته میشه توی روش دوم نام قابلیت ها انتهای فایل مشخص میشه.
حالا بریم سراغ کاربرد این روش
این روش فقط وقتی مفید که یه فایل چند قابلیت مرتبط داشته باشه
مثلا توی فایل calculator.js میتونیم چند تا تابع ریاضی داشته باشیم:
حالا این فایل سه تابع صادر میکند که هر کدوم اسم مشخصی دارد.
توی این پست export رو توضیح دادم توی پست بعدی نحوه import هم براتون توضیح میدم.
باتشکر.
در پروژه های وپچیک معمولا تمام کد ها رو توی یک فایل قرار میدیم ولی توی پروژه های بزرگ تر توی یک فایل نوشتن کد ها کار درستی نیست و خوانایی کد رو کم میکنه برای بهتر شدن خوانایی کد میتوانیم کد ها را در فایل جداگانه قرار بدیم و از قابلیت ماژول ها استفاده کنیم.
توی این پست میخوایم در مورد export بگیم و ادامه رو توی پست بعدی براتون می نویسم.
دستور export به ما این اجازه رو میده که متغیر ها و توابع و کلاس ها و سایر قابلیت هایی یک فایل رو برای استفاده توی یک فایل دیگ در دسترس بزاریم
بیاین یک مثال بزنیم برای درک بهتر مثلا شما میخواهید هدر وبسایت خودتان را به صورت داینامیک توی همه ی صفحات نمایش بدید اگر به صورت استاتیک این کار رو بخواید انجام بدید حتمی باید تمام کد های هدر رو توی تمام فایلا بزارید ولی با ماژول ها یک بار اون رو میسازید و export میگیرید و توی تمام صفحات فقط یک خط کد اضافه میکنید با اینکار هم کد خودتون خوانا تر میشه و هم از تکرار کد ها جلوگیری میشه.
بریم تو دل کد که کاربرد واقعی اون رو متوجه بشیم
برای مثال فایلی به نام calculator.js ایجاد میکنیم:
export const number = 10;
export function sum(a,b){
return a + b;
}
توی این مثال متغیر number و تایع sum با استفاده از export در دسترس ماژول های دیگ قرار گرفتند
یه نکته اینجا وجود داره متغیر ها و توابعی که صادر نشده اند به طور مستقیم از طریق این ماژول قابل وارد کردن نیستند.
مثلا:
const name = "Mohsen";
export const age = 21;
توی این مثال فقط سن صادر شده و نام همچنان داخل همین ماژول باقی میماند
انواع export توی جاوااسکریپت
named export:
برای صادر کردن قابلیت هایی با نام مشخص میتوان چندین خروجی نام دار داشت
default export:
برای تعریف یک خروجی پیشفرض هر ماژول حداکثر یک خروجی پیش فرض دارد
من پیشنهاد میکنم از روش named export استفاده کنید و توی این پست هم همین روش رو توضیح میدم اگر خواستید روش دیفالت اکسپورت هم یاد بگیرید میسپارم به خودتون یه سرچی دربارش بکنید.
توی روش named export میتونیم چند متغیر تایبع یا کلاس را از یک فایل صادر کنیم هر خروجی نام مشخص خودشو داره
روش اول استفاده از export هنگام تعریف
توی این روش ما وقتی تایع یا متغیر را تعریف میکنیم همراهش اکسپورت هم میگیریم مثلا فرض کنید فایلی به نام user.js داریم:
export const name = "mohsen";
export const age = 21;
export function great(){
console.log("Hello World);
};
توی این مثالی که زدم سه خروجی name , age , great داریم با این روش هرکدام از این قابلیت ها میتونند توی فایل های دیگ استفاده بشن
روش دوم استفاده از export در انتهای فایل
ما اول میتونیم متغیر ها تابع ها را تعریف کنیم و بعد همه را انتهای فایل صادر کنیم مثال:
const name = "mohsen";
const age = 21;
function great(){
console.log("Hello World");
};
export { name , age , great};
این روش هم نتیجه روش قبلی رو داره تنها تفاوتش توی محل نوشتن export هست توی روش اول کنار تعریف هر قابلیت نوشته میشه توی روش دوم نام قابلیت ها انتهای فایل مشخص میشه.
حالا بریم سراغ کاربرد این روش
این روش فقط وقتی مفید که یه فایل چند قابلیت مرتبط داشته باشه
مثلا توی فایل calculator.js میتونیم چند تا تابع ریاضی داشته باشیم:
export function sum(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}
export function multiply(a, b) {
return a * b;
};حالا این فایل سه تابع صادر میکند که هر کدوم اسم مشخصی دارد.
توی این پست export رو توضیح دادم توی پست بعدی نحوه import هم براتون توضیح میدم.
باتشکر.
❤2
𝐔𝐧𝐝𝐞𝐟𝐢𝐧𝐞𝐝 ( 𝐣𝐬 )
قسمت اول export در پروژه های وپچیک معمولا تمام کد ها رو توی یک فایل قرار میدیم ولی توی پروژه های بزرگ تر توی یک فایل نوشتن کد ها کار درستی نیست و خوانایی کد رو کم میکنه برای بهتر شدن خوانایی کد میتوانیم کد ها را در فایل جداگانه قرار بدیم و از قابلیت ماژول…
فردا قسمت import رو پستش رو میزارم☺️
خروجی این کد JavaScript چیست؟ 🤔
در این مثال با Closure و اشتراک Reference بین دو متغیر سروکار داریم. دقت کنید تغییر مقدار در second چه تأثیری روی first میگذارد و چرا third رفتار متفاوتی دارد.
خروجی تمام console.logها را به ترتیب بنویسید.
🔖 #JavaScript #JS #چالش_جاوااسکریپت
در این مثال با Closure و اشتراک Reference بین دو متغیر سروکار داریم. دقت کنید تغییر مقدار در second چه تأثیری روی first میگذارد و چرا third رفتار متفاوتی دارد.
خروجی تمام console.logها را به ترتیب بنویسید.
🔖 #JavaScript #JS #چالش_جاوااسکریپت
به المنتور کاران میگن برنامه نویس وردپرس 🤦♂️😂😂
❤1
𝐔𝐧𝐝𝐞𝐟𝐢𝐧𝐞𝐝 ( 𝐣𝐬 )
قسمت اول export در پروژه های وپچیک معمولا تمام کد ها رو توی یک فایل قرار میدیم ولی توی پروژه های بزرگ تر توی یک فایل نوشتن کد ها کار درستی نیست و خوانایی کد رو کم میکنه برای بهتر شدن خوانایی کد میتوانیم کد ها را در فایل جداگانه قرار بدیم و از قابلیت ماژول…
قسمت دوم import
📌نکته: اول مقاله export رو بخونید بعد این رو بخونید.❗️
یکی از دستورای مهم ماژول ها import که به ما اجازه میده متغیر ها و توابع و کلاس ها و سایز قابلیت ها را که از ماژول های دیگر صادر شدن رو در فایل فعلی استفاده کنیم.
برای مثال فرض کن تابعی برای محاسبه مجموع دو عدد در فایل calculator.js نوشته ای و میخواهی توی فایل اصلی جاوااسکریپت main.js از اون استفاده کنی به جای نوشتن دوباره تابع میتونی اون رو با import وارد کنی
این دستور برای وارد کردن قابلیت هایی استفاده میشه که قبلا با export از یه ماژول دیگ صادر شدند.
برای مثال فرض کن فایل calculator.js را داریم:
حالا میتونیم توی فایل main.js تابع sum را وارد کنیم:
توی این مثال خروجی میشه 30
خیلی راحت تونستیم اطلاعاتی که توی فایل calculatr.js صادر کردیم رو توی فایل main.js بدون نوشتن دوباره توابع تا کد ها اضافه کنیم و فقط با import اینکار رو کردیم.
جندین نوع برای import وجود داره توی جاوااسکریپت
که ما توی این مقاله در مورد Named import توضیح میدیم
توی این روش میتونیم قابلیت هایی رو وارد کنیم که با Named export صادر شده باشند
برای مثال فایل calculator.js رو در نظر بگیرید:
حالا در فایل main.js میتونیم به شکل زیر عمل کنیم:
خروجی میشه:
توی این روش نام قابلیتهایی که وارد میکنیم باید با نام خروجیهای ماژول اصلی مطابقت داشته باشد.
وارد کردن فقط یک قابلیت لازم نیست تمام خروجیهای یک فایل را وارد کنیم. میتوانیم فقط قابلیت موردنیاز خود را انتخاب کنیم:
برای وارد کردن چند قابلیت باید بصورت زیر عمل کنیم:
📌نکته: اول مقاله export رو بخونید بعد این رو بخونید.❗️
یکی از دستورای مهم ماژول ها import که به ما اجازه میده متغیر ها و توابع و کلاس ها و سایز قابلیت ها را که از ماژول های دیگر صادر شدن رو در فایل فعلی استفاده کنیم.
برای مثال فرض کن تابعی برای محاسبه مجموع دو عدد در فایل calculator.js نوشته ای و میخواهی توی فایل اصلی جاوااسکریپت main.js از اون استفاده کنی به جای نوشتن دوباره تابع میتونی اون رو با import وارد کنی
این دستور برای وارد کردن قابلیت هایی استفاده میشه که قبلا با export از یه ماژول دیگ صادر شدند.
برای مثال فرض کن فایل calculator.js را داریم:
export function sum(a,b){
return a + b;
};حالا میتونیم توی فایل main.js تابع sum را وارد کنیم:
import { sum } from "./calculator.js";
console.log(sum(10,20));توی این مثال خروجی میشه 30
خیلی راحت تونستیم اطلاعاتی که توی فایل calculatr.js صادر کردیم رو توی فایل main.js بدون نوشتن دوباره توابع تا کد ها اضافه کنیم و فقط با import اینکار رو کردیم.
جندین نوع برای import وجود داره توی جاوااسکریپت
Named Import
Default import
Namespace import
side-effect import
dynamic import
که ما توی این مقاله در مورد Named import توضیح میدیم
توی این روش میتونیم قابلیت هایی رو وارد کنیم که با Named export صادر شده باشند
برای مثال فایل calculator.js رو در نظر بگیرید:
export const PI = 3.14;
export function sum(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}
حالا در فایل main.js میتونیم به شکل زیر عمل کنیم:
import { PI, sum, subtract } from "./calculator.js";
console.log(PI);
console.log(sum(10, 5));
console.log(subtract(10, 5));خروجی میشه:
3.14
15
5
توی این روش نام قابلیتهایی که وارد میکنیم باید با نام خروجیهای ماژول اصلی مطابقت داشته باشد.
وارد کردن فقط یک قابلیت لازم نیست تمام خروجیهای یک فایل را وارد کنیم. میتوانیم فقط قابلیت موردنیاز خود را انتخاب کنیم:
import { sum } from "./calculator.js";
console.log(sum(10, 20));برای وارد کردن چند قابلیت باید بصورت زیر عمل کنیم:
import { PI, sum, subtract } from "./calculator.js";❤3
متد filter در JavaScript
متد filter() یکی از متدهای کاربردی آرایهها در جاوااسکریپت است که برای فیلتر کردن عناصر آرایه بر اساس یک شرط مشخص استفاده میشود.
📌 سینتکس (Syntax)
🔹 مثال ساده
فرض کنید میخواهیم اعداد بزرگتر از ۱۰ را از یک آرایه جدا کنیم:
🔹 مثال کاربردی
فرض کنید لیستی از کاربران داریم و میخواهیم فقط کاربران بالای ۱۸ سال را دریافت کنیم:
⚡ نکات مهم
- متد filter() یک آرایه جدید برمیگرداند.
- آرایه اصلی را تغییر نمیدهد.
- فقط عناصری را نگه میدارد که شرط true را برگردانند.
- اگر هیچ عنصری با شرط مطابقت نداشته باشد، آرایه خالی [] برمیگرداند.
- اگر شرط را return نکنید، نتیجه فیلتر خالی خواهد بود.
💡 جمعبندی
هر زمان خواستید از یک آرایه، عناصری را که با شرط خاصی مطابقت دارند جدا کنید، متد filter() انتخاب مناسبی است.
متد filter() یکی از متدهای کاربردی آرایهها در جاوااسکریپت است که برای فیلتر کردن عناصر آرایه بر اساس یک شرط مشخص استفاده میشود.
📌 سینتکس (Syntax)
array.filter((element, index, array) => {
return condition;
});🔹 مثال ساده
فرض کنید میخواهیم اعداد بزرگتر از ۱۰ را از یک آرایه جدا کنیم:
const numbers = [5, 12, 8, 20, 3, 15];
const result = numbers.filter(num => num > 10);
console.log(result);
// [12, 20, 15]
🔹 مثال کاربردی
فرض کنید لیستی از کاربران داریم و میخواهیم فقط کاربران بالای ۱۸ سال را دریافت کنیم:
const users = [
{ name: "Ali", age: 16 },
{ name: "Reza", age: 22 },
{ name: "Sara", age: 19 }
];
const adults = users.filter(user => user.age >= 18);
console.log(adults);
⚡ نکات مهم
- متد filter() یک آرایه جدید برمیگرداند.
- آرایه اصلی را تغییر نمیدهد.
- فقط عناصری را نگه میدارد که شرط true را برگردانند.
- اگر هیچ عنصری با شرط مطابقت نداشته باشد، آرایه خالی [] برمیگرداند.
- اگر شرط را return نکنید، نتیجه فیلتر خالی خواهد بود.
💡 جمعبندی
هر زمان خواستید از یک آرایه، عناصری را که با شرط خاصی مطابقت دارند جدا کنید، متد filter() انتخاب مناسبی است.
❤2