コードのブロックを実行するかどうかを選択する方法。

if文は、条件に基づいてコードのブロックを実行するのに役立ちます。 例えば、if文を使うと、「マウスが押されたら円を描く」という アイデアを簡単に表現できます:

if (mouseIsPressed === true) {
  circle(mouseX, mouseY, 20);
}

文のヘッダーはifキーワードで始まります。括弧内の式 mouseIsPressed === trueは、trueまたはfalseBoolean式です。中括弧{}の間のコードが if文の本体です。本体はBoolean式がtrueの場合にのみ実行されます。

mouseIsPressedシステム変数は 常にtrueまたはfalseなので、上記のコードスニペットは 次のように書くこともできます:

if (mouseIsPressed) {
  circle(mouseX, mouseY, 20);
}

if-else文は、Boolean式がfalseの場合に 実行されるコードのブロックを追加します。例えば、以下は 「マウスが押されたら円を描く。そうでなければメッセージを表示する。」 というアイデアを表現するif-else文です:

if (mouseIsPressed === true) {
  // trueの場合
  circle(mouseX, mouseY, 20);
} else {
  // falseの場合
  text('クリックしてください!', 50, 50);
}

このコードスニペットには2つの可能なパス、つまりブランチがあります。 プログラムは必ずどちらかのブランチを実行します。

else-if文を使うと、さらにブランチを追加することができます。 else-if文は、異なる条件下で異なるコードブロックを 実行します。例えば、else-if文を使うと、 「マウスが左側にある場合はキャンバスを白く塗る。マウスが中央にある場合は キャンバスをグレーに塗る。それ以外の場合はキャンバスを黒く塗る。」 というアイデアを簡単に表現できます:

if (mouseX < 33) {
  background(255);
} else if (mouseX < 67) {
  background(200);
} else {
  background(0);
}

if文には必要な数だけelse-if文を追加できます。ただし、 else文は1つだけで、最後に配置する必要があります。

if文は複数の条件を同時にチェックすることもできます。 例えば、Boolean演算子&&(AND)は2つの式が 両方ともtrueかどうかをチェックします:

if (keyIsPressed === true && key === 'p') {
  text('あなたは"p"キーを押しました!', 50, 50);
}

ユーザーがキーを押していて、かつそのキーが'p'である場合、 メッセージが表示されます。

Boolean演算子||(OR)は、2つの式のうち 少なくとも1つがtrueかどうかをチェックします:

if (keyIsPressed === true || mouseIsPressed === true) {
  text('何かしました!', 50, 50);
}

ユーザーがキーを押すか、マウスボタンを押すか、またはその両方を行った場合、 メッセージが表示されます。

if文の本体には、別のif文を含めることができます。 これを「ネストされたif文」と呼びます。例えば、ネストされたif文を 使うと、「キーが押された場合、そのキーが'r'かどうかをチェックする。 もしそうなら、塗りつぶし色を赤に設定する。」というアイデアを 簡単に表現できます:

if (keyIsPressed === true) {
  if (key === 'r') {
    fill('red');
  }
}

これらのデータ型とそれらがサポートする操作について詳しく学ぶには、 BooleanNumber を参照してください。

実例

Notice any errors or typos? Please let us know. Please feel free to edit src/core/reference.js and open a pull request!

関連するリファレンス