برنامه نویسی
Visits Count ۴۰۶جلسه سوم برنامه نویسی آموزش زبان جاوااسکریپت عملگر های شرطی و تصمیم گیری
۱
جلسه سوم آموزش برنامه نویسی js
در جلسه های قبلی در مورد متغیر ها و انجام عملیات ریاضی روی آن ها آشنا شدیم. اما برنامه نویسی صرفا این کار ها نیست. بخش مهمی از برنامه نویسی اتخاذ تصمیم و اجرای یک عملیات است.
در حقیقت شما بر اساس شرایط موجود و محاسبات تصمیم میگیرید کار های خاصی انجام بدهید.برای مثال بر اساس سن افراد پیشنهاد هایی برای خرید به آن ها می دهید یا بر اساس وضعیت جسمانی و جنسیت می توانید پیشنهاد هایی برای ورزش به آن ها بدهید و مثال های دیگر.
در زبان جاوا اسکریپت برای بررسی شرایط از دستور if استفاده می کنیم. این دستور به ما امکان می دهد صحت یک موضوع را بررسی کنیم. به مثال زیر توجه کنید.
if(condition)
{
//do something
}
در این مثال ابتدا کلمه if را می نویسیم. سپس شرطی را که می خواهیم بررسی کنیم را داخل پرانتز می نویسیم. سپس در بین یک جفت { } عملیاتی که میخواهیم انجام دهیم را می نویسیم.
این هسته ی اصلی انجام عملیات شرطی است.در حالت پیشرفته تر می توانیم نقیض این شرط را نیز استفاده کنیم. مثال زیر را در نظر بگیرید.
if(condition)
{
//do sth
}
else{
// do other thing
}
در این مثال حالت نقیض را در قسمت else می نویسیم. برای مثال اگر کاربر آقا بود این دستورات را اجرا کن و یا اگر خانمن بود دستورات قسمت else را اجرا کن.
حالت پیچیده تری هم برای این دستور وجود دارد که قسمت else خود نیز بررسی های بیشتری انجام میدهد. به مثال زیر توجه کنید.
if(condition1)
{
}
else if (condition2){
}
else if(condition3){
}
else{
}
قسمت های میانی در مثال بالا می تواند به هر تعداد تکرار شود.اما همیشه با یک if شروع می شود و می تواند با یک else تمام شود یا بدون آن تمام شود.
اما در مورد قسمت شرط چیزی نگفتیم. شرط ها چه هستند و چه مقادیری را می توانند قبول کنند.شما هر مقداری را می توانید در داخل پرانتز های بالا قرار دهید، مهم این است که زبان js بتواند مقدار داده شده توسط شما را به یکی از دو مقدار درست یا غلط تفسیر کند. عملیات شرطی شامل موارد زیر است.
مساوی
برای محاسبه تساوی دو مقدار از دو مساوی استفاده می کنیم مانند مثال زیر
if(age == 10){
}
این مساوی حالت سخت گیرانه نیست. یعنی به مقدار فقط توجه می کند و نوع را در نظر نمی گیرد. منظورمان چیست.
متغیر هایی که قبلا توضیح دادیم یک مقدار دارند و یک نوع. برای مثال ما یک عدد ۳ داریم و یک نوشته ۳. مقدار هر دو ۳ است اما نوع یکی عدد و دیگری رشته است.
با استفاده از این دو مساوی تنها مقدار دو متغیر بررسی می شود. اگر میخواهید سخت گیرانه تر عمل کنید و علاوه بر مقدار نوع را هم بررسی کنید باید از ۳ مساوری استفاده کنید. به مثال زیر توجه کنید.
if( age === 10)
{
}
عملیات بعدی کوچکتر بزگتری است. که با عملگر های < یا > مشخص می شود.
if(age <10){
}else if (age > 20)
{
}
این عملگر ها حالت مساوی را در نظر نمی گیرند. برای بررسی حالت مساوی باید از عملگر های <= یا =< استفاده کنیم. توجه داشته باشید که در هر دو حالت علامت مساوی در سمت راست قرار می گیرد.
if(age <= 10)
{
}
else if(age >=20)
{
}
عملگر دیگر نا مساوی است. که با علامت != و یا ==! نشان داده می شود. باز دو مساوی نوع را نیز بررسی می کند ولی یک مساوی فقط مقدار را بررسی می کند.
if( age != 10)
{
}
else if (age !== 20)
{
}
این عملگر ها خروجی ساده true یا false داشتند. اما گاهی اوقات ما نیاز داریم چند مورد را با هم بررسی کنیم. برای مثال بگوییم. اگر جنسیت زن بود و سن کمتر از ۱۰ بود. یا موارد دیگر.
عملگر اول در این دسته "و است. علامت آن && می باشد. نتیجه زمانی درست خواهد بود که تمامی عبارت های بین && درست باشد.
if( age<10 && gender =='female')
{
}
همچنین می توانیم از عملگر "یا" استفاده کنیم. که با علامت || نشان داده می شود. نتیجه زمانی درست خواهد بود که حداقل یکی از عبارت های بین || درست باشد.
if( age<10 || gender =='female')
{
}
عملگر بعدی نقیض است. قبلتر گفتیم که نقیض یک عبارت در قسمت else اجرا می شود . اما ما میتوانیم عملگر نقیض را هم استفاده کنیم که ! می باشد.
if(! Condition)
{
}
نقیض درست غلط است و برعکس. استفاده از پرانتز در عملیات شرطی بسیار پر استفاده است.
تا کنون گفتیم که برای شرط ها هر عبارتی می توانیم استفاده کنیم. اما در مورد مقادیر غیر از درست و غلط این تفسیر چگونه خواهد بود.
برای اعداد صفر غلط است و غیر صفر درست خواهد بود.
برای نوشته ها رشته های خالی غلط است و در غیر این صورت صحیح است.
برای آرایه ها اگر عضوی نداشته باشد غلط است و در غیر این صورت درست است.
برای اشیا همیشه درست است. اما این درستی را در شرط ها باید بررسی کنیم نه با عبارت == . چرا که بررسی با این عبارت در هر دو حالت غلط می شود. و این یکی از مشکلات بیشمار js است که بعد ها با آن ها بیشتر آشنا خواهیم شد.
1 == true
0 == false
'' == false
'Something' == true
[] == false
[1] == true
{} == true
{name:"saeed"} == true
let a={}
if(a)
{
console.log('true')
}
else{
console.log('false')
}