فصل ششم

تسلط بر مبانی جاوا اسکریپت

به فصل بعدی سفر جاوا اسکریپت خود خوش آمدید! همانطور که شروع به آشنایی با زبان و قابلیت های آن برای زنده کردن صفحات وب کرده اید، زمان آن رسیده است که عمیق تر در مفاهیم اصلی که ستون فقرات برنامه نویسی جاوا اسکریپت را تشکیل می دهند، کاوش کنیم. این فصل به شما کمک می کند تا مهارت های خود را از درک اولیه به تسلط عملی تبدیل کنید.

در حالی که متغیرها، توابع، حلقه‌ها و روش‌ها هسته اصلی را تشکیل می‌دهند، جاوا اسکریپت یک زبان غنی و در حال تکامل است که چیزهای بیشتری برای ارائه دارد. از رسیدگی به خطاها و رویدادها گرفته تا موضوعات پیشرفته تر، این فصل پایه ای محکم برای شما فراهم می کند.

در پایان این فصل، شما درک کاملی از مفاهیم اساسی خواهید داشت که به شما قدرت می‌دهد تا با مشکلات پیچیده‌تر مقابله کنید و برنامه‌های کاربردی پیچیده‌تری بسازید. چه بخواهید یک توسعه‌دهنده فرانت‌اند باشید، چه یک مهندس فول‌استک، تسلط بر این مفاهیم کلیدی است.

سرفصل‌های این فصل:

  • Variables: متغیرها واحدهای اساسی ذخیره سازی در برنامه نویسی هستند. در جاوا اسکریپت، آنها به شما اجازه می دهند داده ها را در سراسر کد خود ذخیره و دستکاری کنید. ما نحوه اعلان متغیرها، انواع مختلف داده ها و دامنه آنها را پوشش خواهیم داد.
  • Functions: توابع بلوک هایی از کد هستند که برای انجام وظایف خاص طراحی شده اند. آنها برای جاوا اسکریپت اساسی هستند و به شما امکان می دهند کدهای قابل استفاده مجدد بنویسید، اسکریپت های خود را در بخش های قابل مدیریت تقسیم کنید و برنامه های پیچیده و قدرتمندی بسازید.
  • Loops: حلقه ها راهی برای تکرار اقدامات بدون چندین بار نوشتن یک خط کد ارائه می دهند. چه در حال تکرار روی آرایه ها، پردازش ورودی کاربر، یا تکرار اقدامات تا زمانی که یک شرط برآورده شود، حلقه ها کد شما را کارآمدتر و خواناتر می کنند.
  • Methods: متدها توابعی هستند که با یک شی مرتبط هستند. جاوا اسکریپت، به عنوان یک زبان شی گرا، مجموعه ای از روش های داخلی را برای رشته ها، آرایه ها و سایر اشیاء ارائه می دهد که به شما امکان می دهد ساختارهای داده را دستکاری کرده و عملیات پیچیده را به راحتی انجام دهید.
  • Control Structures: ساختارهای کنترلی، مانند دستورات if و موارد سوئیچ، به شما این امکان را می دهند که در کد خود بر اساس شرایط خاصی تصمیم گیری کنید. این ساختارها جریان اجرا را در برنامه شما هدایت می کنند و به آن اجازه می دهند به ورودی‌ها و شرایط مختلف پاسخ دهد.

Variables Declaration / اعلان‌های متغیرها

در جاوا اسکریپت، متغیرها مفاهیم اساسی هستند که به شما اجازه می دهند داده ها را در برنامه های خود ذخیره و دستکاری کنید. جاوا اسکریپت راه های مختلفی برای اعلام متغیرها ارائه می دهد که هر کدام مجموعه ای از قوانین و موارد استفاده خاص خود را دارند. در این میان، var، let و const کلیدواژه‌هایی هستند که برای اعلان‌های متغیر استفاده می‌شوند، با let و const در ES6 (ECMAScript 2015) برای رفع برخی از کاستی‌های var معرفی شده‌اند. در اینجا، ما بر let و const تمرکز خواهیم کرد.

تفاوت های کلیدی بین let و const

letقابل تغییرlet count = 1count = 2 ✅مقدار قابل تغییرconstثابتconst PI = 3.14PI = 4 ❌ Error🔒مقدار غیر قابل تغییر

تغییرپذیری: متغیرهایی که با let اعلان می‌شوند می‌توانند مقادیرشان تغییر کند (آنها قابل تغییر هستند). در مقابل، متغیرهای اعلام شده با const را نمی توان مجددا تخصیص داد، که باعث می شود از نظر مرجع تغییر ناپذیر باشند.

موارد استفاده:

  1. var: قدیمی ترین کلمه کلیدی، با عملکرد یا دامنه جهانی. var مدتهاست که روش استاندارد برای اعلام متغیرها در جاوا اسکریپت بوده است. متغیرهای اعلام شده با var، زمانی که در داخل یک تابع اعلان می شوند، دامنه تابع دارند. در غیر این صورت، دامنه جهانی دارند.
  2. let: کلمه کلیدی let به شما امکان می دهد متغیرهای محدوده بلوک را اعلام کنید، به این معنی که متغیر به بلوکی (که با {} مشخص می شود) محدود می شود که در آن تعریف شده است. این یک پیشرفت قابل‌توجه نسبت به var است، زیرا از نشت متغیرها به خارج از بلوک مورد نظر جلوگیری می‌کند.
  3. const: کلمه کلیدی const برای اعلام متغیرهایی استفاده می شود که قرار است در طول چرخه عمر خود ثابت باشند، به این معنی که ارزش آنها پس از مقداردهی اولیه قابل تخصیص مجدد نیست. مانند let، const نیز محدوده‌بلوک دارد.

بهترین روش ها / Best Practices

  • از let برای متغیرهایی استفاده کنید که انتظار می‌رود در طول زمان تغییر کنند، مانند شمارنده‌هایی در یک حلقه، یا مقادیری که به صورت شرطی اختصاص داده شده‌اند.
  • از const برای متغیرهایی که نباید پس از تخصیص اولیه تغییر کنند استفاده کنید. این شامل ماژول های وارد شده، پیکربندی ها یا هر مقدار ثابتی است که در کد شما استفاده می شود.
  • ترجیحا const: از const به طور پیش فرض برای اعلام متغیرها استفاده کنید. این کار با نشان دادن عدم تخصیص مجدد این متغیرها، خواندن کد شما را آسان‌تر می‌کند و بار شناختی و احتمال بروز باگ را کاهش می‌دهد.
  • استفاده از let فقط در صورت لزوم: فقط از let برای متغیرهایی استفاده کنید که می دانید تغییر خواهند کرد، مانند شمارنده در حلقه ها یا مقادیری که به یک شرط بستگی دارند.

Variables Types

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

JavaScript Data TypesNumberStringBooleanArrayObjectnull/undefined42, 3.14'Hello'true/false[1,2,3]{key:val}null, undefاعدادمتندرست/نادرستلیستشیخالیجاوا اسکریپت یک زبان با تایپ پویا است — نوع متغیر می‌تواند تغییر کند

شماره ها / Numbers

اعداد می توانند اعداد صحیح یا ممیز شناور (اعشاری) باشند.

let age = 25; // Integer let price = 19.99; // Floating-point

رشته ها / Strings

رشته ها دنباله ای از کاراکترها هستند که برای متن استفاده می شوند. آنها را می توان در گیومه های تکی (')، گیومه های دوتایی ("), یا بک تیک ها (`) برای حروف اللفظی الگو قرار داد.

let name = 'John Doe'; let greeting = "Hello, World!"; let phrase = `Your age is ${age}`;

بولین ها / Booleans

بولی ها مقادیر true/false هستند – آنها می توانند دو مقدار true یا false داشته باشند. اینها عموماً برای آزمایش یک شرط استفاده می‌شوند و پس از آن کد مطابق مناسب اجرا می‌شود.

let isAdult = true; let isMinor = false;

آرایه ها / Arrays

آرایه یک شی منفرد است که حاوی مقادیر متعددی است که در کروشه های مربع محصور شده و با کاما از هم جدا شده اند. آرایه ها برای ذخیره چندین مقدار در یک متغیر استفاده می شوند. آنها دارای شاخص صفر هستند، به این معنی که اولین مورد در شاخص 0 قرار دارد.

let fruits = ['Apple', 'Banana', 'Cherry'];

هنگامی که این آرایه ها تعریف شدند، می توانید به هر مقدار با توجه به موقعیت آنها در آرایه دسترسی داشته باشید.

console.log(fruits[1]); // Outputs: Banana

اشیاء / Objects

در برنامه نویسی، یک شی ساختاری از کد است که یک شی واقعی را مدل می کند. شما می توانید یک شی ساده داشته باشید که نشان دهنده یک جعبه باشد و حاوی اطلاعاتی در مورد عرض، طول و ارتفاع آن باشد. اشیا مجموعه‌ای از ویژگی‌ها هستند که هر ویژگی یک جفت کلید-مقدار است. کلیدها همیشه رشته هستند و مقادیر می توانند هر نوع داده ای باشند.

let person = {   firstName: 'John',   lastName: 'Doe',   age: 30,   hobbies: ['reading', 'gaming', 'coding'] };  console.log(person.firstName); // Outputs: John

جاوا اسکریپت انواع دیگری مانند null، undefined، Symbol و اشیاء پیچیده تری مانند Function، Date، RegExp و غیره دارد.

let empty = null; let uninitialized; console.log(uninitialized); // Outputs: undefined
  • null: عدم وجود عمدی هر مقدار شی را نشان می دهد.
  • undefined: نشان می دهد که به یک متغیر مقداری اختصاص داده نشده است.

تایپ پویا / Dynamic Type

جاوا اسکریپت یک زبان با تایپ آزاد یا پویا است، به این معنی که نیازی نیست نوع متغیر را از قبل اعلام کنید. نوع یک متغیر می تواند با ادامه اجرا تغییر کند.

let example = 42; // example is now a number example = 'Hello'; // example is now a string

درک متغیرها و انواع داده ها در برنامه نویسی جاوا اسکریپت اساسی است، زیرا آنها بلوک های سازنده برای ذخیره و دستکاری داده ها هستند. همانطور که پیشرفت می کنید، خواهید دید که چگونه می توان از این نوع داده ها برای ساخت برنامه های پیچیده و قدرتمند استفاده کرد.

آزمون / Quiz

سوال ۱: کدام کلمه کلیدی برای اعلان متغیرهای ثابت استفاده می‌شود؟ +
var
✅ const
const برای اعلان متغیرهایی استفاده می‌شود که مقدار آنها پس از مقداردهی اولیه قابل تغییر نیست.
let

سوال ۲: کدام گزینه یک نوع داده معتبر در جاوا اسکریپت نیست؟ +
Number
String
✅ float
جاوا اسکریپت نوع float ندارد. اعداد اعشاری به عنوان Number شناخته می‌شوند.
Boolean

سوال ۳: خروجی کد زیر چیست؟
let x = 10; x = 'hello'; console.log(typeof x);
+
'number'
✅ 'string'
جاوا اسکریپت یک زبان با تایپ پویا است. متغیر x ابتدا عدد بود، سپس به رشته تغییر یافت.
'undefined'

نکات کلیدی / Key Takeaways

  • let برای متغیرهای قابل تغییر، const برای ثابت‌ها استفاده کنید.
  • پیش‌فرض: همیشه const، فقط در صورت نیاز به تغییر از let استفاده کنید.
  • انواع داده اصلی: Number، String، Boolean، Array، Object، null، undefined
  • جاوا اسکریپت یک زبان با تایپ پویا است — نوع متغیر می‌تواند در طول اجرا تغییر کند.
  • آرایه‌ها شاخص صفر دارند — اولین عنصر در موقعیت 0 قرار دارد.
  • اشیاء از جفت‌های کلید-مقدار تشکیل شده‌اند و برای مدل‌سازی داده‌های پیچیده استفاده می‌شوند.