English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript 基礎チュートリアル

JavaScript オブジェクト

JavaScript 関数

JS HTML DOM

JS ブラウザBOM

AJAX 基礎チュートリアル

JavaScript 参考マニュアル

JavaScriptの条件文

if else と else if

条件がtrueである場合に実行されるコマンドのセットが条件文です。

多くの場合、ユーザー入力や他の要因に応じて異なるコードブロックを実行したいとします。

条件文はコンピュータプログラムのロジック、決定またはフロー指定の一部です。

JavaScriptでは以下のような条件文があります:

  • if文

  • if...else文

  • else...if文

  • switch文

次の章でswitch文について説明します。

JavaScript If文

if指定条件为trueの時にのみ、この文がコードを実行します。構文は以下の通りです:

if (condition) {
  //条件が真の場合に実行するコードブロック
}
if (x < 0) {
   document.getElementById("result").innerHTML = "NEGATIVE";
}
テストをしてみて‹/›

JavaScriptのif ... else文

if ... else文は、指定された条件がtrueの場合に一つのコードブロックを実行し、条件がfalseの場合に別のコードブロックを実行することができます。構文は以下の通りです:

if (condition) {
   //条件が真の場合に実行するコードブロック
} else {
   //条件が偽の場合に実行するコードブロック
}
var x = -4;
if (x < 0) {
   msg = "NEGATIVE";
} else {
   msg = "POSITIVE";   
}
テストをしてみて‹/›

ユーザーが画像をクリックすると、以下の例では画像のsrc属性の値が変更されます:

<img id="demo" onclick="changeImage()" src="avatar-female.jpg">
<script>
function changeImage() {
   var image = document.getElementById("demo");
   if (image.src.match("female")) {
   image.src = "avatar-male.jpg";
   } else {
   image.src = "avatar-female.jpg";
   }
}
</script>
テストをしてみて‹/›

JavaScriptのelse ... if文

if ... elseを使用すると、条件が真か偽かによってコードブロックを実行できます。しかし、時には複数の条件と出力が存在し、単なる二つの選択肢だけでは不十分な場合があります。この操作を行う一つの方法はelse ... if文の使用です。この文は、二つ以上の可能な結果を評価できます。構文は以下の通りです:

if (condition1) {
  //conditionが1trueの場合に実行するコードブロック
} else if (condition2) {
  //conditionが1falseでcondition2trueの場合に実行するコードブロック
} else {
  //conditionが1falseでcondition2falseの場合に実行するコードブロック
}
// 学生の現在のレベルを設定します
var grade = 88;
// 成績がA、B、C、D、またはFであるか確認します
if (grade >= 90) {
   document.write("A");
} else if (grade >= 80) {
   document.write("B");
} else if (grade >= 70) {
   document.write("C");
} else if (grade >= 60) {
   document.write("D");
} else {
   document.write("F");
}
テストをしてみて‹/›

ネストされたif ... else文

JavaScriptプログラムの決定能力を高めるために、ネストされたif ... else文を使用できます。

var a = 10, b = 20, c = 30;
var answer;
if (a > b) {
   if (a > c) {
  answer = "Aは三つのうち最大の";
   } else {
  answer = "Cは三つのうち最大の";
   }
} else if (b > c) {
   answer = "Bは三つのうち最大の";
} else {
   answer = "Cは三つのうち最大の";   
}
テストをしてみて‹/›

三元演算子

三元演算子はif ... else文の簡略化を提供します。

三元演算子は問号(?)と冒号(:)の文法で書かれます。以下のようになります:

(condition) ? expression on true : expression on false

上記の文法では、condition最初に書き込まれ、その後は?が書き込まれます。最初の式はtrue上実行し、次の式はfalse上実行。

三元演算子の動作方法を理解するために、以下の例を考えてみてください:

var status = (age >= 18) ? "adult" : "minor";
テストをしてみて‹/›

年齢が18歳以上の場合、上記の文は「adult」の値を変数statusに割り当てます。それ以外の場合、statusに「minor」の値を割り当てます。