JavaScript Code Blocks
بلوک کد در جاوااسکریپت چیست؟
در جاوااسکریپت، یک بلوک کد (یا عبارت بلوکی) مجموعهای از صفر یا چند عبارت است که در داخل یک جفت آکولاد { } گروهبندی شدهاند.
سینتکس:
{
statement1;
statement2;
// … عبارات بیشتر
}
کاربردهای کلیدی بلوکهای کد
۱. گروهبندی عبارات
بلوکهای کد به چندین عبارت اجازه میدهند تا در جایی که جاوااسکریپت انتظار یک عبارت را دارد، با هم اجرا شوند.
مثال:
// بدون بلوک (فقط یک عبارت بعد از if اجرا میشود)
if (true)
console.log(“این اجرا خواهد شد”);
console.log(“این هم اجرا میشود، اما بخشی از if نیست”); // این گمراهکننده است!
// با بلوک (هر دو عبارت گروهبندی شدهاند)
if (true) {
console.log(“این اجرا خواهد شد”);
console.log(“این هم به عنوان بخشی از if اجرا میشود”);
}
۲. ساختارهای کنترل جریان
بلوکهای کد در ساختارهایی مانند if...else، حلقهها (for، while) و switch ضروری هستند.
مثال با عبارت if:
let hour = 14;
if (hour < 12) {
console.log(“صبح بخیر!”);
console.log(“روز خوبی داشته باشید!”);
} else {
console.log(“عصر بخیر!”);
console.log(“امیدوارم حال شما خوب باشد!”);
}
مثال با حلقه for:
for (let i = 0; i < 5; i++) {
console.log(“تکرار: “ + i);
// میتوان عبارات بیشتری اینجا اضافه کرد
}
۳. تعریف توابع
توابع از بلوکهای کد برای تعریف بدنه خود استفاده میکنند — مجموعهای از عبارات که هنگام فراخوانی تابع اجرا میشوند.
مثال:
function greet(name) {
let message = “سلام، “ + name + “!”;
console.log(message);
return message;
}
۴. محدوده بلوکی با let و const
متغیرهایی که با let و const داخل یک بلوک تعریف میشوند، محدوده بلوکی دارند، یعنی فقط در داخل آن بلوک قابل دسترسی هستند.
مثال:
{
let blockScopedVar = “من داخل یک بلوک هستم”;
const alsoBlockScoped = “من هم همینطور!”;
console.log(blockScopedVar); // کار میکند
}
// console.log(blockScopedVar); // خطا: در خارج تعریف نشده
if (true) {
var functionScopedVar = “من محدوده تابعی (یا سراسری) دارم”;
let anotherBlockVar = “من محدوده بلوکی دارم”;
}
console.log(functionScopedVar); // کار میکند
// console.log(anotherBlockVar); // خطا: تعریف نشده
۵. بلوکهای مستقل
میتوانید از بلوکها بهطور مستقل برای جداسازی متغیرها یا کنترل محدوده استفاده کنید.
مثال:
let x = 10;
{
let x = 20; // این یک متغیر متفاوت است
console.log(x); // 20
}
console.log(x); // 10
نکات مهم درباره بلوکهای کد
- سمیکالنها: جاوااسکریپت در بیشتر موارد بهطور خودکار سمیکالن قرار میدهد، اما بهتر است برای وضوح بیشتر، بهطور صریح در انتهای عبارات داخل بلوکها از آنها استفاده کنید.
- بلوکهای خالی: یک بلوک خالی
{ }معتبر است و هیچ کاری انجام نمیدهد. - شرطها بدون آکولاد: اگر بعد از یک شرط یا حلقه آکولاد را حذف کنید، فقط عبارت بعدی بخشی از آن بلوک در نظر گرفته میشود. این میتواند منجر باگ شود، بنابراین اغلب توصیه میشود برای وضوح همیشه از آکولاد استفاده کنید.
مثال یک مشکل احتمالی:
if (false)
console.log(“این اجرا نمیشود”);
console.log(“این اجرا میشود، اما ممکن است منظور شما نباشد!”); // این در واقع خارج از if است.
جدول خلاصه
| ویژگی | توضیح |
|---|---|
| سینتکس | { statement1; statement2; } |
| کاربرد اصلی | گروهبندی چندین عبارت |
| تاثیر بر محدوده | یک محدوده جدید برای let و const ایجاد میکند |
| موارد استفاده رایج | if، for، while، function، switch، بلوکهای مستقل |
| بهترین روش | برای وضوح، حتی برای عبارات تکی هم همیشه از آکولاد { } استفاده کنید |
دیدگاهتان را بنویسید