خانه دوره‌ها مدرس‌ها تیم ما ارتباط با ما
پرطرفدارترین دوره

🚀 دوره جامع JavaScript 💫

از صفر تا صد برنامه‌نویسی وب را بیاموزید. تبدیل شوید به یک توسعه‌دهنده فرانت‌اند حرفه‌ای با این دوره کامل که تمام مفاهیم از پایه تا پیشرفته را پوشش می‌دهد.

۴۲+ ساعت آموزش
۱۵۰+ تمرین عملی
۲۴ پروژه واقعی
۴.۹ رضایت دانشجویان

🎓 آموزش تعاملی گام به گام

روی هر درس کلیک کنید تا باز شود و محتوای آموزشی را مشاهده کنید. تمام درس‌ها شامل مثال‌های تعاملی هستند.

۱

متغیرها در جاوااسکریپت

آشنایی با const, let, var و انواع داده‌ها

۱۵ دقیقه

چرا متغیرها مهم هستند؟

متغیرها مانند جعبه‌هایی هستند که اطلاعات را در حافظه کامپیوتر ذخیره می‌کنند. هر متغیر یک نام و یک مقدار دارد.

مفهوم کلیدی

در جاوااسکریپت مدرن از const و let استفاده می‌کنیم. var قدیمی است و مشکلاتی دارد.

تمرین تعاملی
script.js
تمرین:

متغیری به نام productPrice تعریف کنید و مقدار 50000 را به آن اختصاص دهید. سپس 20% تخفیف اعمال کرده و قیمت نهایی را محاسبه کنید.

برای محاسبه 20% تخفیف: price * 0.8 یا price - (price * 0.2)

نکات طلایی:
  • همیشه از const شروع کنید، اگر نیاز به تغییر بود از let استفاده کنید
  • نام متغیرها باید معنادار باشد (مثلاً userAge به جای a)
  • از camelCase برای نام‌گذاری استفاده کنید
  • جاوااسکریپت به حروف کوچک و بزرگ حساس است (age با Age متفاوت است)

آزمون پایان جلسه - متغیرها

سوال ۱: کدام روش تعریف متغیر برای مقدار ثابت مناسب است؟
الف
var
ب
let
ج
const
سوال ۲: کدام گزینه نام‌گذاری صحیح camelCase است؟
الف
user_name
ب
UserName
ج
userName
سوال ۳: مقدار متغیر زیر چیست؟ let x = 5; x = x + 3;
الف
5
ب
8
ج
undefined
نتایج آزمون

۲

انواع داده (Data Types)

آشنایی با ۷ نوع داده اصلی و کاربرد آنها

۲۰ دقیقه

انواع داده در جاوااسکریپت

جاوااسکریپت ۷ نوع داده اصلی دارد که در دو دسته تقسیم می‌شوند:

Primitive (اولیه)
String "سلام دنیا"
Number 42, 3.14
Boolean true, false
Undefined let x; // undefined
Null null
Symbol Symbol('id')
BigInt 9007199254740991n
Object (شیء)
Object {name: "مهدی"}
Array [1, 2, 3]
Function function() {}
Date new Date()
آزمایشگاه انواع داده
dataTypes.js
مقایسه == و ===
مقایسه == (برابری) === (برابری دقیق)
5 == '5' ✅ true ❌ false
0 == false ✅ true ❌ false
null == undefined ✅ true ❌ false
'1' == true ✅ true ❌ false

💡 توصیه: همیشه از === استفاده کنید تا از باگ‌های پنهان جلوگیری شود.

آزمون پایان جلسه - انواع داده

سوال ۱: خروجی typeof null چیست؟
الف
"null"
ب
"object"
ج
"undefined"
سوال ۲: کدام نوع داده جزء انواع اولیه (Primitive) نیست؟
الف
string
ب
array
ج
boolean
سوال ۳: 123 === "123" چه مقدار برمی‌گرداند؟
الف
true
ب
false
ج
"123"
نتایج آزمون

۳

توابع (Functions)

تعریف توابع، پارامترها، بازگشت مقادیر

۲۵ دقیقه

توابع: قلب جاوااسکریپت

توابع بلوک‌های کدی هستند که می‌توانید بارها آنها را فراخوانی کنید. توابع می‌توانند پارامتر بگیرند و مقداری را بازگردانند.

انواع توابع
functions.js
نکات طلایی توابع:
  • توابع می‌توانند مقداری را با return برگردانند
  • اگر تابع چیزی برنگرداند، undefined برمی‌گرداند
  • Arrow functions برای توابع کوتاه مناسب‌ترند
  • پارامترهای پیش‌فرض می‌توانند مقادیر اولیه داشته باشند
  • توابع بازگشتی برای مسائلی مانند فاکتوریل مناسبند

آزمون پایان جلسه - توابع

سوال ۱: کدام گزینه تعریف صحیح Arrow Function است؟
الف
function add(a, b) { return a + b; }
ب
const add = (a, b) => a + b;
ج
add(a, b) => a + b;
سوال ۲: خروجی کد زیر چیست؟ function test() {} سپس console.log(test());
الف
undefined
ب
null
ج
Error
سوال ۳: کدام ویژگی تابع بازگشتی (recursive) است؟
الف
خودش را فراخوانی می‌کند
ب
پارامتر ندارد
ج
همیشه string برمی‌گرداند
نتایج آزمون

۴

آرایه‌ها و Objectها

مدیریت مجموعه‌های داده

۳۰ دقیقه

ساختارهای داده پیچیده

آرایه‌ها و Objectها به شما اجازه می‌دهند داده‌های پیچیده‌تری را ذخیره و مدیریت کنید.

کار با آرایه‌ها و Objectها
collections.js
نکات طلایی:
  • آرایه‌ها برای لیست‌های مرتب مناسبند
  • Objectها برای ذخیره داده‌های ساختاریافته
  • از push/pop برای افزودن/حذف از آرایه استفاده کنید
  • می‌توانید آرایه‌ای از Objectها داشته باشید
  • روش‌های زیادی مانند map, filter, reduce برای کار با آرایه‌ها وجود دارد

آزمون پایان جلسه - آرایه‌ها و Objectها

سوال ۱: کدام روش برای اضافه کردن عنصر به انتهای آرایه استفاده می‌شود؟
الف
pop()
ب
shift()
ج
push()
سوال ۲: چگونه به ویژگی‌های Object دسترسی پیدا کنیم؟
الف
object.property یا object['property']
ب
object->property
ج
object::property
سوال ۳: کدام گزینه آرایه‌ای از Objectها را تعریف می‌کند؟
الف
const data = {name: "Ali", age: 20}
ب
const data = [{name: "Ali"}, {name: "Reza"}]
ج
const data = "Ali,Reza,Mahdi"
نتایج آزمون

🚀 دروس بیشتر در راه است!

ما به شدت در حال تولید دروس جدید و پیشرفته‌تری هستیم. این دروس به زودی اضافه خواهند شد:

🔗

DOM Manipulation

دستکاری المان‌های صفحه وب با جاوااسکریپت

🔄

Async Programming

برنامه‌نویسی ناهمگام با Promise و Async/Await

🎯

Events & Forms

مدیریت رویدادها و اعتبارسنجی فرم‌ها

📦

ES6+ Features

ویژگی‌های جدید جاوااسکریپت مدرن

دروس جدید هر هفته منتشر می‌شوند!