条件分岐とは
条件分岐とは、プログラミングで処理を行っている中で、条件や値によって処理を分岐させることです。
具体的には、「条件が合致した場合(真)は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リクエストを行う際は、繰り返し条件の記述ミスなどで、無限ループが起こらないように気を付けてください。
まとめ
条件分岐や繰り返し処理を正しく使うことで、処理を簡潔に書くことができます。
無限ループなどに陥らないように注意しつつ、利用しましょう。
次回は
配列操作/オブジェクト操作について学習しましょう。