条件分岐とは
条件分岐とは、プログラミングで処理を行っている中で、条件や値によって処理を分岐させることです。
具体的には、「条件が合致した場合(真)は A の処理、条件が合致しない場合(偽)は B の処理」のように、処理を分岐させることができます。
if の使い方
JavaScript で条件分岐の処理を記述するには、if 文を使います。
ここからは、if 文を使った条件分岐処理の基本的な書き方を紹介します。
if 文の基本形は、次のように条件式で分岐し、条件が成立する場合は if 文の {}
内の処理を実行します。
|
|
ブラウザーの開発者ツールを開き、コンソールに次のサンプルコードを入力してみましょう。
|
|
この例では、x = 6
なので、条件式の x > 5
が成立します。
そのため、コンソールでコードを実行すると、コンソールに xは5より大きいです。
が出力されます。
2分岐のif文を使ってみよう
条件に成立しない処理も指定したい場合、次のサンプルコードのように if...else
を使います。
指定された条件が成立する場合は、1 番目の if 文の {}
内の処理を実行します。
条件が成立しない場合は、else の {}
内の処理を実行することになります。
|
|
この例では、x = 2
なので、x > 5
の条件と一致しないため、2 番目の if 文の処理が実行され、コンソールに xは5より小さいです。
が出力されます。
3分岐以上のif文を使ってみよう
if 文で処理を 3 分岐以上に分けたい場合は、次のサンプルコードのように else if
を付け加えて、追加したい条件文を記述します。
|
|
この例では、x = 4
なので、1 番目の x > 5
の条件は成立しませんが、その次に追加された条件 x >= 3
は成立します。
そのため、2 番目の if 文の処理が実行され、コンソールに "xは3~5の間です。"
が出力されます。
kintone カスタマイズで条件分岐を使う実例
kintone でカスタマイズをするとき、条件に応じて処理を分岐させたい場合も多いと思います。
たとえば、kintone 上で、確認ダイアログボックスの【OK】または【キャンセル】のクリックに応じて、処理を分岐することを考えてみましょう。
- OK を押したらレコードを保存する。
- キャンセルを押したらエラーを出す。
コードは、次のようになります。
|
|
補足
switch文
複数の分岐条件も if 文で指定できますが、多くの条件を指定したい場合、if 文よりも簡潔に記述できる switch 文がおすすめです。
次のように、条件分岐が 4 パターン以上になる複雑な分岐をする場合は、switch 文を使いましょう。
|
|
論理演算子
さきほどの例には、x > 5
のようなシンプルな条件式がありました。
しかし、実際のカスタマイズでは、「x > 5
または x < 3
」のように、条件を組み合わせて使いたい場合もあります。
「条件 X または条件 Y」のような条件判定をするには、条件式に論理演算子を利用します。
よく使われる論理演算子
- AND 演算:
&&
例:条件X && 条件Y
「X と Y が両方成立する場合に、真と判定される」 - OR 演算:
||
例:条件X || Y
「X または Y のどちらかが成立する場合に、真と判定される」 - NOT 演算:
!
例:!X
「X 以外の条件の場合に、真と判定される」
繰り返し処理とは
繰り返し処理とは、同じような処理をコンピュータにさせることを指します。
たとえば、「コンソールログに、'Hello, world!'を 5 回表示させたい」場合、次のように記述できます。
|
|
これは、同じ console.log('Hello, world!');
を 5 回繰り返して処理しているだけです。
この場合、繰り返し処理を使えば、より簡潔に記述できます。
for 文を使ってみよう
JavaScript で繰り返し処理を記述するときは、for 文を使います。
for 文を使うと、指定した回数を繰り返し処理できます。
|
|
たとえば、さきほどの「コンソールログに、'Hello, world!'を 5 回表示させたい」の例は、for 文を使うと次のように記述できます。
|
|
for 文でどのように繰り返し処理を行っているか、詳しく見てみましょう。
- 初期化:
let i = 1
と書かれている部分です。スタート時の変数i
は「1」に定義されています。 - 繰り返し条件:
i <= 5
と書かれている部分です。この条件を満たすまで、繰り返しの処理を実行します。 - 繰り返す際の処理:
i++
と書かれている部分です。サンプルでは「i に 1 を足す」と定義されています。繰り返し処理が行われるたびに実行されます。 - 実行する処理:for 文の
{}
内で定義された処理console.log(Hello, world!);
を実行します。 - 2 へ戻る:for 文の先頭に戻ります。再度「繰り返し条件」を確認し、繰り返しを継続するかどうかを判別します。
「先頭に戻る」際には「初期化」はされず、「繰り返す際の処理」が行われます。
また、「繰り返し条件」で設定された条件を満たした場合だけ、繰り返し処理をします。
補足
終わらない繰り返し
大量の処理を一括で行える便利な繰り返し処理には、注意点があります。
「『繰り返し条件』で設定された条件を満たした場合だけ、繰り返し処理をします」と解説しました。
つまり、「繰り返し条件」で設定された条件が常に満たされていると、ループは永遠に終了しません。これを無限ループといいます。
特に、API へのリクエストで無限ループが起こると、API サーバーに過度な負荷をかけることがあります。
繰り返し処理を使って API リクエストを行う際は、繰り返し条件の記述ミスなどで、無限ループが起こらないように気を付けてください。
まとめ
条件分岐や繰り返し処理を正しく使うことで、処理を簡潔に書くことができます。
無限ループなどに陥らないように注意しつつ、利用しましょう。
次回は
配列操作/オブジェクト操作 について学習しましょう。