توسعه دهندگان از دستورات برای کنترل جریان کلی برنامه، از جمله اعلان های متغیر، عملیات شرطی و فرآیندهای تکرار شونده استفاده می کنند. در اینجا نحوه نوشتن عبارات جاوا اسکریپت آمده است.
عبارات جاوا اسکریپت جریان کلی برنامه های جاوا اسکریپت را کنترل می کند. دستورات برای اعلان متغیرها و مدیریت فرآیندهای تکرار شونده استفاده می شوند و همچنین می توان از آنها برای اعلام کلاس ها و توابع استفاده کرد.
برخلاف ویژگیها، روشها و رویدادها که از شیء مالک آنها جداییناپذیرند، دستورات بهطور مستقل کار میکنند. این بدان معناست که میتوانید از یک عبارت در هر زمینهای استفاده کنید، چه در حال برنامهنویسی یک برنامه سمت سرویس گیرنده یا سمت سرور باشید. به عنوان یک زبان، جاوا اسکریپت از عبارات نسبتا کمی پشتیبانی می کند – فقط به اندازه کافی برای ساخت برنامه های کاربردی.
درباره نویسندگان
نسخه قبلی این مقاله توسط گوردون مککامب نوشته شده و در JavaWorld منتشر شده است. متیو تایسون مقاله را با نمونههای دستوری و کد جدیدتر در می ۲۰۲۴ بهروزرسانی کرد.
این مقاله نمونه ای از عبارات جاوا اسکریپت را پوشش می دهد که به احتمال زیاد آنها را می بینید و در برنامه های جاوا اسکریپت خود استفاده می کنید. تعدادی از عبارات موجود در اینجا – یعنی comment
، let
و new
– اعلانها هستند. اینکه آیا اعلامیهها میتوانند بیانیه نیز باشند موضوعی بحثبرانگیز است، اما معمولاً در برنامهها با آنها رفتار میشود.
عبارات جاوا اسکریپت و نحوه استفاده از آنها
عبارات جاوا اسکریپت زیر با نمونه کد معرفی می شوند:
//
برای
برای…در
اگر...دیگر
عملکرد
جدید
بازگشت
این
var
،اجازه
،const
در حالی که
انجام ... در حالی که
با
شکستن
ادامه
سوئیچ
امتحان کنید
،گرفتن
،در نهایت
،پرتاب
نظر (//)
نحو نظر (//
) به جاوا اسکریپت می گوید که می خواهید نظرات توضیحی را در برنامه خود قرار دهید. نظر در اولین بازگشت سخت (خط شکسته) پس از بیانیه به پایان می رسد. جاوا اسکریپت هیچ محدودیتی برای طول کامنت قائل نیست، تا زمانی که قبل از پایان آن هیچ بازگشت سختی وجود نداشته باشد. جاوا اسکریپت هر متنی را پس از بازگشت سخت، کد معتبر فرض می کند. در اینجا نمونه ای از یک نظر در کد آمده است:
// This is a simple comment
اگرچه نظر به خط دوم می رسد، خط اول با “بازگشت نرم” در برنامه ویرایش متن به پایان می رسد. هیچ کاراکتر بازگشتی سخت درج نشده است.
شما می توانید کاراکترهای //
را در هر نقطه از یک خط قرار دهید. جاوا اسکریپت تمام متن موجود در آن خط را که به دنبال //
است به عنوان یک نظر در نظر می گیرد:
MyVariable="This is a test" // assigns text variable MyVariable
نظرات هنگام اجرای یک اسکریپت نادیده گرفته می شوند، بنابراین تأثیر زیادی روی سرعت اجرا ندارند. اکثر خطوط لوله ساخت، نظرات را قبل از ارسال کد از طریق سیم حذف می کنند.
هنگام نوشتن نظرات طولانی، بهتر است از دستور نظر جایگزین /*
و */
استفاده کنید. متن بین این نویسه ها به عنوان یک نظر در نظر گرفته می شود:
/* This section checks to see if the Enter key is pressed…
then continues on */
از طرف دیگر، میتوانید هر خط جدید را با یک //
شروع کنید:
// This section checks to see if the Enter key is pressed…
// then continues on
نظرات از نظر فنی عباراتی در نظر گرفته نمی شوند، اما نحوه استفاده ما از آنها مشابه است، بنابراین من نحو را در اینجا گنجانده ام.
برای
از همه عناصر برنامه نویسی ساخت یافته، for
یک قهرمان است. این به توسعه دهندگان این توانایی را می دهد که بر اساس یک شرایط، اقدامات را به طور مکرر انجام دهند. همراه با if
، for
جزء اساسی همه نرم افزارها است.
عبارت for
یک بلوک از دستورالعمل ها را یک یا چند بار تکرار می کند. تعداد تکرارها توسط مقادیر ارائه شده به عنوان آرگومان کنترل می شود. در اینجا نحو دستور for
آمده است:
for (InitVal; Test; Increment)
InitVal
مقدار شروع حلقهfor
است. اغلب ۰ یا ۱ است، اما می تواند هر عددی باشد.InitVal
عبارتی است که مقدار اولیه را تعیین می کند و آن را به یک متغیر اختصاص می دهد. برای مثال،count=0
یاi=1
.Test
عبارتی است که توسط عبارتfor
برای کنترل تعداد دفعات تکرار حلقه استفاده می شود. تا زمانی که عبارتTest
true باشد، حلقه ادامه می یابد. هنگامی که عبارتTest
نادرست است، حلقه به پایان می رسد. به عنوان مثال، تا زمانی که مقدار متغیر count کمتر از ۱۰ باشد،count<10
درست است.افزایش
نشان میدهد که میخواهید حلقهfor
چگونه شمارش شود - بر اساس یک، دو، پنج، ده، و غیره. این نیز یک عبارت است و معمولاً به شکلcountVar++
است، که در آن CountVar نام متغیری است که برای اولین بار درInitVal
اختصاص داده شده است. به عنوان مثال،count++
مقدار متغیرcount
را برای هر تکرار یک عدد افزایش میدهد.
برخلاف تمام ساختارهای دیگر در جاوا اسکریپت، دستور for
برای جداسازی آرگومانهای خود به جای کاما از نیمویرگول استفاده میکند. این همان نحوی است که در C، C++ و جاوا استفاده می شود.
در اینجا مثالی از یک حلقه for
آورده شده است که از ۱ تا ۱۰ شمارش می شود و هر بار یک رقم پله می شود. در هر تکرار، اسکریپت مقداری متن را وارد می کند و یک خط جدید را شروع می کند. جاوا اسکریپتی که می خواهید تکرار کنید در داخل پرانتز ({ }
) به دنبال عبارت for
محصور شده است. این بلوک عبارت for
را تشکیل می دهد. می توانید یک یا چند خط را در داخل نویسه های پرانتز ارائه دهید:
for (count=1; count<=10; count++) {
console.log("Iteration: "+count);
}
به خاطر داشته باشید که count
نام متغیر مورد استفاده برای ذخیره شمارنده حلقه for
است. حلقه با ۱ شروع می شود و تا ۱۰ ادامه می یابد. عبارت آزمایشی count<=10
است، که می گوید:
Count is less than or equal to 10
تا زمانی که این عبارت درست باشد، حلقه for
ادامه دارد. توجه داشته باشید که آرگومان Increment
نیز یک عبارت است. در این مثال، Increment
از متغیر count
برای افزایش ۱ حلقه for
برای هر تکرار استفاده میکند. با این حال، قانونی وجود ندارد که شما باید آن را به یک عدد افزایش دهید. در اینجا یک مثال آورده شده است که از ۱۰ تا ۱۰۰ با ده ها شمارش می شود:
for (count=1; count<101; count+=10) {
document.write ("Iteration: "+count);
}
با حلقه for
در جیب خود، ابزاری همه کاره و ماندگار برای یک عمر سفر در دنیای برنامه نویسی دارید.
برای…در
عبارت for…in
نسخه خاصی از عبارت for
است. این نحو برای نمایش نام ویژگی ها و/یا محتویات اشیاء استفاده می شود. هنگامی که با اشیاء داده JSON سروکار داریم، این امر رایج است.
برخلاف عبارت for
، for…in
از آزمایشهای افزایشی یا عبارات دیگر استفاده نمیکند. شما نام یک متغیر نگهدارنده (نام متغیر بستگی به شما دارد) و شیئی که می خواهید استفاده کنید را ارائه می دهید. نحو اصلی اینجاست:
for (iterator in object) {
statements
}
iterator
نام یک متغیر است.object
شیئی است که می خواهید بررسی کنید.گزارهها
یک یا چند دستورالعمل جاوا اسکریپتی هستند که میخواهید برای هر ویژگی بازگردانده شده توسط حلقهfor…in
اجرا کنید.
در اینجا یک مثال ساده از استفاده از for…in
:
آورده شده است
const person = {
name: "Harsha Suryanarayana",
occupation: "Software Engineer"
};
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}
این برچسبهای name
و مشغله
را به همراه مقادیر آنها خروجی میدهد.
اگر...دیگر
عبارت if
، همراه با else
اختیاری آن، برای ساختن عبارت "if conditional" استفاده می شود. می گوید: اگر چیزی درست است، این کار را انجام دهید. دستور if
یک عبارت شرطی نامیده میشود زیرا شرایط خاصی را آزمایش میکند. قوانین زیر هنگام استفاده از دستورات if…else
اعمال می شود:
- اگر عبارت درست باشد، اسکریپت دستورالعملهای زیر عبارت
if
را انجام میدهد. - اگر عبارت نادرست باشد، اسکریپت به دستورالعملهایی میرود که از عبارت
else
پیروی میکنند. - اگر دستور
else
وجود نداشته باشد، اسکریپت به طور کامل از دستورif
عبور کرده و از آنجا ادامه مییابد.
مانند for
، if
جزء اساسی نرم افزار است. توسعه دهندگان از آن برای انشعاب جریان کنترل به گونه ای استفاده می کنند که واضح و قابل درک باشد.
نحو برای if
این است:
if (expression)
نتیجه عبارت if
همیشه درست یا نادرست است. نحو زیر، بدون براکت هایی که بلوک ها را محصور می کنند، زمانی قابل قبول است که فقط یک دستورالعمل زیر دستورات if
و else
وجود داشته باشد:
if (test > 10)
console.log(‘more than 10’);
else
console.log(‘less than 10’);
میتوانید این را حتی فشردهتر بنویسید، مانند:
if (test > 10) console.log("more than 10"); else console.log("less than 10");
اگر بیش از یک دستورالعمل از دستور if
یا else
پیروی کند، باید از براکتهای فرفری (پرانتز) برای تعریف بلوک دستور if
استفاده کنید. . جاوا اسکریپت میداند که همه دستورالعملهای داخل بلوک را اجرا کند:
if (test > 10) {
count = 1;
console.log("more than 10");
} else {
count = 0;
console.log("less than 10");
}
همچنین میتوانید بسیاری از عبارات if-else-if
را به هم متصل کنید:
if (test > 10) {
console.log("more than 10");
} else if (test == 10) {
console.log("10");
} else {
console.log("less than 10");
عملکرد
توابع یکی دیگر از بخش های اساسی برنامه نویسی ساخت یافته هستند. عبارت function
به شما امکان می دهد توابع تعریف شده توسط کاربر خود و همچنین اشیا و روش های تعریف شده توسط کاربر را برای آنها ایجاد کنید. توابع، روالهای مستقلی هستند که میتوانند در جای دیگری در کد جاوا اسکریپت شما «فراموش شوند». همراه با حلقه ها و شرطی ها، توابع ابزاری ضروری برای سازماندهی نرم افزار هستند.
جاوا اسکریپت دارای یک سیستم عملکرد بسیار قدرتمند است که در آن توابع را می توان مانند هر متغیر دیگری ارجاع داد. این به عنوان "توابع درجه یک" شناخته می شود و منبع بزرگی از قدرت و انعطاف پذیری جاوا اسکریپت است.
در اینجا مثالی از کاربرد اساسی یک تابع آورده شده است:
function add(number1, number2){
return number1 + number2;
}
میتوانید این تابع را به این صورت فراخوانی کنید: add(10, 5)
.
به نوعی، توابع مانند پسوندهای سفارشی شده زبان جاوا اسکریپت هستند. آنها را می توان در هر جایی که از یک دستور استفاده می کنید استفاده کرد، و مقدار بازگشتی آنها شبیه به یک متغیر است: console.log(add(10,5))
عدد ۱۵ را به کنسول خروجی می دهد. p>
یک نحو دیگر برای تعریف توابع این است:
let multiply = function(number1, number2){
return number1 * number2;
}
هر دوی این نحو رایج و قابل قبول هستند. همچنین عبارت تابع را به صورت درون خطی در JSON literals پیدا خواهید کرد:
let json = {
subtract: function (number1, number2){
return number1 - number2;
}
}
میتوانیم این تابع را با عملگر نقطه فراخوانی کنیم: json.subtract(10,5)
.
جدید
عبارت new
در درجه اول برای ایجاد یک شی جدید استفاده می شود:
let myInstance = new MyObject(params);
myInstance
نام نمونه شیء جدید است. نام های قابل قبول مانند متغیرهای جاوا اسکریپت است. می توانید شی ایجاد شده را به عنوان یک متغیر جاوا اسکریپت در نظر بگیرید. (اشیاء در واقع انواع داده های سفارشی هستند.)- انواع شی (مانند
MyObject
) معمولاً CamelCase با حرف اول بزرگ هستند، در حالی که نمونههای شی (مانندmyInstance
) معمولا CamelCase هستند. em>camelCase، با حرف اول کوچک. پارامها
یک یا چند پارامتر هستند که در صورت نیاز به تابع شی منتقل میکنید.
روش های مختلفی برای ایجاد یک نوع شی در جاوا اسکریپت وجود دارد. برای مثال، میتوانیم از نحو class
و عبارت new
برای ایجاد یک نمونه استفاده کنیم:
class Person {
constructor(name) {
this.name = name;
}
}
let person = new Person("John");
بازگشت
عبارت return
برای علامت گذاری پایان یک تابع استفاده می شود و به صورت اختیاری مقداری را برمی گرداند. هنگامی که جاوا اسکریپت با این عبارت روبرو می شود، به نقطه ای که تابع فراخوانی شده است "باز می گردد". عبارت return
را می توان با و بدون مقدار بازگشتی استفاده کرد.
- اگر مقداری گنجانده شود، تابع آن مقدار را برمی گرداند.
- اگر هیچ مقداری درج نشود، تابع تعریف نشده برمی گردد.
عبارت return
ممکن است خارج از یک تابع استفاده نشود. اگر سعی کنید از return
خارج از یک تابع استفاده کنید، جاوا اسکریپت یک خطا گزارش می کند. در اینجا دو مثال از return
، با و بدون مقدار آورده شده است:
function myFunc() { var outString = "This is a test"; return OutString; }
function myFunc() { outString = "This is a test"; return; }
در جاوا اسکریپت مدرن، گزینه های جالبی برای مدیریت مقادیر بازگشتی دارید. برای مثال، میتوانید یک شی را برگردانید و از ساختارزدایی برای «انفجار» آن به مقادیر گسسته استفاده کنید:
function getUserInfo(name) {
return { name, age: 25, city: "New York" };
}
const { name, age, city } = getUserInfo("Alice");
console.log(`${name} is ${age} years old and lives in ${city}`);
این
کلمه کلیدی this
(از نظر فنی یک عبارت نیست) به شی فعلی اشاره دارد و مختصر برای استفاده از نام رسمی شی است. استفاده از this
به شما ارجاع به "حوزه" فعلی کد می دهد. به این معنی که به شما یک دسته در تنظیمات بلافاصله بزرگتر که در آن متغیرها نگهداری می شوند، می دهد. تفاوت های ظریفی در نحوه رفتار و رفع این
وجود دارد، به خصوص در مورد بسته شدن، اما به طور کلی، اگر به یاد داشته باشید که به شیء محفظه فوری اشاره دارد، مشکلی ندارید.
به عنوان یک مثال معمولی، تابع تفریق
ما را از قبل در نظر بگیرید.
let json = {
subtract: function (number1, number2){
console.log("this: " + this);
return number1 - number2;
}
}
در این حالت، شی json
خود تماس this
را حل میکند و بنابراین خروجی کنسول این خواهد بود: this: [object Object] کد>.
var، let، const
عبارات var
، let
و const
برای اعلام مرجع متغیر استفاده میشوند. توجه به این نکته مهم است که var
یک سبک قدیمی است و به طور کلی به نفع let
منسوخ شده است. این به این دلیل است که var
متغیر را به بالای محدوده خود "بالابر" میکند، در حالی که let
آن را به بلوک فعلی محدود میکند. در عین حال، عبارت const
متغیری را ایجاد می کند که مفسر اجازه تغییر آن را نمی دهد (یعنی یک متغیر "غیرقابل تغییر").
یک مثال در اینجا آمده است:
let myVariable = “foo”;
const myOtherVariable = “bar”;
اکنون مرجع myOtherVariable
قابل تغییر نیست.
اگرچه const
از تغییر یک مرجع جلوگیری می کند، اما از تغییر اجزای داخلی یک شی یا آرایه جلوگیری نمی کند:
const myArray = {0,1,1,3,4};
myArray[2] = 2; // this is OK
در حالی که
عبارت while
یک حلقه تکراری منحصر به فرد را تنظیم می کند که باعث می شود اسکریپت مجموعه ای از دستورالعمل ها را تکرار کند، مشابه for
. تا زمانی که عبارت در عبارت while
درست باشد، حلقه زدن ادامه می یابد. وقتی دستور while
نادرست است، حلقه شکسته می شود و اسکریپت ادامه می یابد. هر کد جاوا اسکریپت در داخل بلوک دستور while
- که با پرانتزها (aka براکتهای فرفری) تعریف شده است - بخشی از حلقه در نظر گرفته میشود و تکرار میشود. نحو عبارت while
در اینجا آمده است:
while (Expression) {
// stuff to repeat
}
پست های مرتبط
نحوه استفاده از دستورات جاوا اسکریپت در برنامه های خود
نحوه استفاده از دستورات جاوا اسکریپت در برنامه های خود
نحوه استفاده از دستورات جاوا اسکریپت در برنامه های خود