制御構造
JavaScriptの制御構造はほぼCやJavaの構文と同じ
if ... else
if (condition1) { statement1 } else if (condition2) { statement2 } else { statement3 }
conditionには比較演算子など真偽値を返すものを用いる.真偽値のリテラルはtrue
とfalseになっている.
js> if (x == 5) { print("x is 5"); } x is 5 js> x == 5 true
他のスクリプト言語と同じく,JavaScriptの比較演算子は文字列にも利用できる.
js> "JavaScript" > "Java" false
js> "5" == 5 true js> "5" === 5 false js> false != 0 false js> false !== 0 true
'=='では型変換されて比較されるが,'==='や'!=='は型を含めて同じ物かどうかを比較している.
あと,論理演算子もあるがこれもCと同じである.
js> true && false false js> false || true true js> ! true false
for
forはCと同じだが()内で変数宣言できる.が,ブロック外部からも参照できるので気をつける
js> for (var i = 0; i < 5; i++) { print("hoge"); } hoge hoge hoge hoge hoge js> i 4
while
do ... while
ここはCと同じなので省略する.ループに対する制御もbreakとcontinueで同じ.
switch
switch文もCと同じ文法だが文字列に対しても適用できるのが異なる
switch (str) { case 'this': dothis(); break; case 'that': dothat(); break; default: dodefault(); break; }