logo
  • صفحه نخست
  • ویراشگر کد
logo

آموزش کدنویسی با بزرگ‌ترین وبسایت آموزشی توسعه‌ی وب؛ یادگیری گام‌به‌گام، مقالات کاربردی و تمرین‌های عملی برای علاقه‌مندان به برنامه‌نویسی.

لینک‌های سریع

  • صفحه نخست
  • ویراشگر کد
  • ورود
  • ثبت نام

دسته‌بندی‌ها

  • HTML
  • CSS
  • جاوااسکریپت
  • ری‌اکت

© 2026 گرین‌دیتا. تمامی حقوق محفوظ است.

ساخته‌شده با ❤ برای علاقه‌مندان به برنامه‌نویسی

جاوااسکریپت

مقدمه‌ای بر جاوااسکریپت و محیط اجرا
  1. جاوااسکریپت چیست و در وب چه نقشی دارد
  2. نحوه اجرای جاوااسکریپت در مرورگر
  3. ابزارها و کنسول توسعه‌دهنده
  4. آزمون فصل مقدمه‌ای بر جاوااسکریپت
متغیرها و انواع داده
  1. var، let و const
  2. Primitive Types
  3. Reference Types
  4. Type Conversion و Type Coercion
  5. Truthy/Falsy، ==، ===، Object.is
  6. typeof و instanceof
  7. آزمون فصل - متغیرها و انواع داده
عملگرها و ساختارهای کنترلی
  1. عملگرهای محاسباتی، مقایسه‌ای و منطقی
  2. if/else و switch
  3. حلقه‌ها (for، while، do-while، for...of، for...in)
  4. آزمون فصل ۳ — عملگرها و ساختارهای کنترلی
توابع: مبانی
  1. تعریف تابع، پارامتر و آرگومان
  2. مقدار بازگشتی تابع
  3. Function Declaration در برابر Function Expression
  4. Arrow Functions
  5. Default Parameters و Rest Parameters
  6. آزمون فصل - توابع: مبانی
آرایه‌ها
  1. ایجاد آرایه و دسترسی به عناصر
  2. متدهای پرکاربرد آرایه
  3. متدهای تکرارکننده (map، filter، reduce، forEach، find و ...)
  4. Destructuring و Spread/Rest در آرایه
  5. آزمون فصل - آرایه‌ها
اشیاء: مبانی
  1. ایجاد شیء و دسترسی به Property
  2. متدهای Object (keys، values، entries، assign)
  3. Destructuring و Spread در Object
  4. آزمون فصل - اشیاء: مبانی
Execution Model: حوزه، Hoisting و Execution Context
  1. Lexical Scope و Nested Scope
  2. Scope Chain
  3. Hoisting و Temporal Dead Zone
  4. Execution Context (Global و Function)
  5. Lexical Environment و Environment Record
  6. Call Stack و Execution Flow
  7. آزمون فصل - Execution Model
Closure
  1. Closure چیست؟
  2. کاربردهای Closure (از جمله Private State)
  3. Closure و Memory
  4. اشتباهات رایج در استفاده از Closure
  5. آزمون فصل ۸ — Closure
توابع پیشرفته
  1. First-Class Functions و Higher-Order Functions
  2. Callback
  3. Pure Functions و Side Effects
  4. Function Composition
  5. IIFE
  6. آزمون فصل — توابع پیشرفته
this و Binding
  1. this چیست و چگونه تعیین می‌شود
  2. Default Binding و Implicit Binding
  3. Explicit Binding: call، apply و bind
  4. Constructor Binding و Method Invocation
  5. Arrow Function و this
  6. آزمون فصل — this و Binding
Prototype، Constructor Function و Class
  1. Prototype و Prototype Chain
  2. Constructor Function
  3. Class و Syntax مربوط به آن
  4. Inheritance (مبتنی بر Prototype و مبتنی بر Class)
  5. Private Fields و Static Members
  6. تفاوت Class و Prototype-based Inheritance
  7. آزمون فصل Prototype و Class
Object Model پیشرفته
  1. Property Descriptors: Writable، Enumerable، Configurable
  2. Getter و Setter
  3. آزمون فصل Object Model پیشرفته
DOM: شناخت و انتخاب عناصر
  1. DOM چیست و DOM Tree
  2. روش‌های انتخاب عناصر
  3. پیمایش DOM (Traversing)
  4. آزمون فصل — DOM
DOM: ایجاد، ویرایش و حذف عناصر
  1. ایجاد و افزودن عناصر
  2. ویرایش محتوا و Attributes
  3. کار با Classes و Styles از طریق جاوااسکریپت
  4. حذف عناصر
  5. آزمون فصل DOM: ایجاد، ویرایش و حذف عناصر
Events
  1. مدل رویداد و Event Object
  2. Bubbling و Capturing
  3. Event Delegation
  4. آزمون پایان فصل — Events
Forms و اعتبارسنجی
  1. دسترسی به عناصر فرم
  2. Form Events
  3. Validation
  4. آزمون پایان فصل — Forms
Browser APIs
  1. Window، Location و History
  2. Navigator و Timers
  3. localStorage و sessionStorage
  4. Cookies
  5. آزمون پایان فصل ۱۷ — Browser API
ارتباط با سرور: Fetch
  1. Fetch API و درخواست‌های پایه
  2. کار با Response و JSON
  3. آزمون پایان فصل — Fetch API و JSON
Iterators و Generators
  1. Iterable و Iterator
  2. Symbol.iterator
  3. Generator و yield
  4. Async Iterator و Async Iteration
  5. آزمون پایان فصل — Iterable, Iterator
برنامه‌نویسی ناهمزمان: مبانی و Event Loop
  1. Synchronous در برابر Asynchronous
  2. Promise Chaining و Error Propagation
  3. Event Loop و تحلیل ترتیب اجرای کد
  4. آزمون پایان فصل — Event Loop
Promise
  1. Promise و State‌های آن
  2. Promise Chaining و Error Propagation
  3. Promise.all، allSettled، race و any
  4. آزمون پایان فصل — Promise
async/await
  1. Syntax و نحوه کار async/await
  2. مدیریت خطا در async/await
  3. async/await و Async Iteration
  4. آزمون پایان فصل — Async/Await
Error Handling
  1. Error و انواع آن
  2. throw، try، catch و finally
  3. Custom Error
  4. Async Error Handling و Stack Trace
  5. آزمون پایان فصل — Error Handling
Collections پیشرفته
  1. Map و Set
  2. WeakMap و WeakSet
  3. Typed Arrays و ArrayBuffer
  4. آزمون پایان فصل — collections
Modules
  1. ES Modules، import و export
  2. Named Export و Default Export
  3. Dynamic Import
  4. آزمون پایان فصل — ES Modules
Metaprogramming
  1. Symbol
  2. Proxy
  3. Reflect
  4. آزمون پایان فصل — Metaprogramming
Regular Expressions
  1. Pattern، Character Classes و Quantifiers
  2. Groups و Capturing Groups
  3. Flags، Lookahead و Lookbehind
  4. آزمون پایان فصل — Regular Expressions
Memory و Performance
  1. Memory Allocation، References و Reachability
  2. Garbage Collection و Memory Leak
  3. Performance Measurement و Optimization
  4. آزمون پایان فصل — Memory Management و Performance
Security در جاوااسکریپت و مرورگر
  1. XSS و DOM XSS
  2. CORS و CSP
  3. آزمون پایان فصل — امنیت در جاوااسکریپت
آزمون جامع پایان دوره
  1. آزمون جامع پایان دوره‌ی JavaScript

جاوااسکریپت / آزمون جامع پایان دوره

آزمون جامع پایان دوره‌ی JavaScript

تمرین‌ها

تمرین 1

تفاوت اصلی let و var در چیست؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 2

حاصل عبارت typeof null چیست؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 3

Closure در جاوااسکریپت به چه معناست؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 4

مقدار this در یک Arrow Function چگونه تعیین می‌شود؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 5

کدام متد آرایه، یک آرایه‌ی جدید بدون تغییر آرایه‌ی اصلی برمی‌گرداند؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 6

Destructuring در جاوااسکریپت چه کاربردی دارد؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 7

تفاوت اصلی متد forEach با map چیست؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 8

Prototype در جاوااسکریپت چه نقشی دارد؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 9

کدام روش برای انتخاب یک عنصر بر اساس id آن استفاده می‌شود؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 10

در بحث Bubbling و Capturing، مقدار پیش‌فرض آرگومان سوم addEventListener کدام مرحله را فعال می‌کند؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 11

تفاوت اصلی رویداد input و change در یک فیلد متنی چیست؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 12

کدام‌یک برای ذخیره‌ی داده تا زمان بسته‌شدن تب مرورگر مناسب است؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 13

تابع fetch در حالت عادی چه زمانی Promise خود را reject می‌کند؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 14

یک شیء چه زمانی Iterable محسوب می‌شود؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 15

فراخوانی یک تابع Generator (تعریف‌شده با function*) بلافاصله چه نتیجه‌ای دارد؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 16

Event Loop در جاوااسکریپت چه وظیفه‌ای دارد؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 17

کدام‌یک در Microtask Queue قرار می‌گیرد؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 18

سه State اصلی یک Promise کدام‌اند؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 19

Promise.all در صورت شکست یکی از Promiseهای داخل آرایه، چه رفتاری دارد؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 20

مدیریت خطا در async/await معمولاً با کدام ساختار انجام می‌شود؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 21

برای ساخت یک خطای سفارشی، کلاس جدید باید از کدام کلاس ارث‌بری کند؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 22

تفاوت اصلی Map با شیء معمولی (Object) در چیست؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 23

چرا WeakMap فاقد ویژگی size است؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 24

هر فایل ماژول ES حداکثر چند default export می‌تواند داشته باشد؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 25

مزیت اصلی import() پویا نسبت به import ایستا چیست؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 26

چرا دو مقدار Symbol با توضیح کاملاً یکسان، همیشه با هم نابرابرند؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 27

در یک Proxy، وظیفه‌ی trap مربوط به get چیست؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 28

در عبارت باقاعده، Quantifier چه چیزی را مشخص می‌کند؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 29

Garbage Collector بر چه اساسی تصمیم می‌گیرد حافظه‌ی یک داده را آزاد کند؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.

تمرین 30

چرا استفاده از textContent برای نمایش ورودی کاربر، نسبت به innerHTML در برابر XSS ایمن‌تر است؟

برای ثبت نتیجه‌ی این تمرین لطفاً وارد حساب کاربری خود شوید.