 
جاواسکریپت: ۷- کاندیشن ۲
شرط – Conditions
در جاواسکریپت شرط را به سه گونه میتوان نوشت.
- ?
- if
- Switch
همه آنها را باید یاد گرفت و در هر جایی آن روشی را که سادهتر است، به کار برد.
سوئیچ – Switch
Switch جایگزین چند if میشود.
if (exp === val1) {
    ...
} else if (exp === val2) {
    ...
} else if (exp === val3) {
    ...
}
...
} else {
    ...
}
switch (exp) {
    case val1: // if (exp === val1)
        ...
        break;
    
    case val2: // if (exp === val2)
        ...
        break;
    case val3: // if (exp === val3)
        ...
        break;
    ...
    
    default: // else
        ...
    }
اگر break را ننویسید، کد تا break بعدی بدون توجه به شرطها اجرا میشود.
مثال
HTML
<input type="text" id="in-box">
<button id="btn">OK</button>        
<h1 id="out-box"></h1>    
JS
const inBox = document.getElementById("in-box");
const outBox = document.getElementById("out-box");
const btn = document.getElementById("btn");
btn.onclick = function() {
    let grade = inBox.value;
    let msg; 
    switch (grade) {
        case 'A':
            msg = "Excellent";
            break;
        case 'B':
            msg = "Good";
            break;
        case 'C':
            msg = "Fair";
            break;
        case 'D':
            msg = "Poor";
            break;
        case 'E':
        case 'F':
            msg = "Failed";
            break;
        default:
            msg = "Unknown grade";
    }
    outBox.innerHTML = msg;
}
مثال
HTML
<input type="text" id="in-box">
<button id="btn">OK</button>        
<h1 id="out-box"></h1>    
JS
const inBox = document.getElementById("in-box");
const outBox = document.getElementById("out-box");
const btn = document.getElementById("btn");
btn.onclick = function() {
    let point = inBox.value;
    let msg; 
    switch (true) {
        case point > 100 || point < 0:
            msg = "Out of range";
            break;
        case point >= 90:
            msg = "Excellent";
            break;
        case point >= 80:
            msg = "Good";
            break;
        case point >= 70:
            msg = "Fair";
            break;
        case point >= 60:
            msg = "Poor";
            break;
        case point >= 0:
            msg = "Failed";
            break;
        default:
            msg = "Not a number";
    }
    outBox.innerHTML = msg;
}
تمرین ۱
- این فایل را دانلود کنید.
- آن را در فولدر js1 باز کنید.
- تنها فایل script.js را میتوانید تغییر دهید.
- اسکریپتی بنویسید تا مثل ویدیوی زیر عمل کند.
تمرین ۲
- این فایل را دانلود کنید.
- آن را در فولدر js1 باز کنید.
- تنها فایل script.js را میتوانید تغییر دهید.
- اسکریپتی بنویسید تا مانند یک ماشین حساب کار کند.

String
آبجکت String با مقادیر استرینگ کار میکند.
String.length
تعداد کاراکترهای استرینگ را برمیگرداند
s = "Nikparvar High School";
l = s.length;        // l = 21
//-------------------------------------
n = 20;
l = n.length;        // l = undefined
//-------------------------------------
b = true;
l = b.length;        // l = undefined
String.trim( )
فضای خالی دو طرف استرینگ را حذف میکند.
- افقی: space, tab
- عمودی: LF, CR
String.trim( )
s = "      Nikparvar";
t = s.trim();        // t = "Nikparvar"
//-------------------------------------
s = "Nikparvar      ";
t = s.trim();        // t = "Nikparvar"
//-------------------------------------
s = "   Nikparvar   ";
t = s.trim();        // t = "Nikparvar"
//-------------------------------------
s = `
Nikparvar
High
School`;
t = s.trim();        // t = `Nikparvar
                     //      High
                     //      School`  
String.substr(start, length)
بخشی از استرینگ را برمیگرداند.

- شمارش کاراکترها از عدد صفر آغاز میشود.
- اعداد منفی از انتها شمرده میشود.
s = "Nikparvar High School";
t = s.substr(0,3);         // t = "Nik"
t = s.substr(-4,3);        // t = "hoo"
t = s.substr(25,1);        // t = ""
t = s.substr(5,-1);        // t = ""
String.search(str)
جای str را در میان استرینگ مشخص میکند.
s = "Nikparvar";
p = s.search("Nik");         // p = 0
p = s.search("nik");         // p = -1
p = s.search("a");           // p = 4
String.replace(str1,str2)
str1 را با str2 جایگزین میکند.
s = "Nikparvar";
new = s.replace("Nik", "nik");         // new = "nikparvar"
new = s.replace("a", "_");             // new = "Nikp_rvar"
new = s.replace("M", "_");             // new = "Nikparvar"
تمرین ۳
- این فایل را دانلود کنید.
- آن را در فولدر js1 باز کنید.
- تنها فایل script.js را میتوانید تغییر دهید.
- یک عدد را بگیرد و چک کند، آن میتواند یک کد ملی باشد یا نه.
- الگوریتم تشخیص درستی شماره ملی



