JavaScript初心者がカスタマイズに必須の知識をより学べるよう、チュートリアルの内容を充実させてリニューアルしました。
リニューアル後のチュートリアルは次のページを参照してください。
はじめようJavaScript
今回は、繰り返し処理に挑戦します。
以下のリンク先で実際に入力しながら試してみてください。
https://jsfiddle.net/kintone/x27p59nu/1/
記述ミスなどでうまく動作しないときのために、下の方にサンプル実行環境も用意していますので必要に応じて利用してください。
繰り返し処理とは
ここでの「繰り返し」とは、同じような処理をコンピュータにさせることを指します。
1〜10までの数値を、単純にコンソールに出力させたい場合は、以下のように入力します。
|
|
しかし、これでは同じことを何度も書くことになり煩雑です。
今回はまだ10個だけなのでそこまで手間ではないですが、これが1〜1000まで表示ということになるとたいへんです。
そこで、JavaScriptには繰り返し処理をするための機能が用意されています。
for文
for文は、指定した回数を繰り返し処理させます。上記のように、コンソールに1〜10までを表示させたい場合は次のようになります。
|
|
サンプルの実行環境
https://jsfiddle.net/kintone/rwn8fLuk/3/
このようにfor文を利用することで、かなり短く書くことができます。
ここからはfor文の書き方を詳しく見ていきましょう。
for文の書き方
|
|
具体的に、先ほど挙げたサンプルを例に構文をみてみましょう。
1. 初期化
let i = 1
と書かれている部分です。
for文スタート時の状態を定義します。
サンプルでは「変数i
に1を入れた状態からスタートします」ということが宣言されています。
2. 繰り返し条件
i <= 10
と書かれている部分です。
繰り返しのための条件を定義します。
サンプルでは「変数i
が10以下なら繰り返す」という定義がされています。
3. 実行後の処理
i++
と書かれている部分です。
実行後の処理(繰り返す際の処理)を定義します。
サンプルでは「i
に1を足す」という定義がされています。
i++
と書くことによって、i
に1を足すという意味になります。
MDN web docs: インクリメント
4. 処理実行
for
文の{}
内では、実際に行う処理を書きます。
サンプルではコンソールに出力しています。
1行目に設定した変数i
を使えるので、1回目の処理は1、2回目の処理は2… のように、コンソール出力ができています。
5. 先頭に戻る
for
文の先頭に戻ります。
このとき、1の初期化はされませんが、3の実行後の処理がされて、繰り返し処理が行われます。
このとき、2の繰り返し条件で設定してある条件が満たされない場合は、繰り返し処理がされません。
サンプルコードにおける処理順序
あらためて、サンプルコードの処理順序を整理すると次のようになります。
for文1周目
- 初期化:
i = 1
、i
に1
を代入(慣例的に変数i
を使いますが、実際は任意の変数名でOKです) - 繰り返し条件判定:
i <= 10
、i
は10以下なので(i = 1
)繰り返し処理に入る。 - 処理実行:
console.log(i)
が実行され、コンソールに1と表示される。 - 実行後の処理:
i++
が実行されてi
は2になる。 - 先頭に戻る。
for
文2周目
- 繰り返し条件判定:
i <= 10
、i
は10以下なので(i = 2
)繰り返し処理に入る。 - 処理実行:
console.log(i)
が実行され、コンソールに2と表示される。 - 実行後の処理:
i++
が実行されてi
は3になる。 - 先頭に戻る。
for
文3周目〜9周目
2周目と同様に繰り返し実行され、i
の数値が1ずつ増えてゆく。
for
文10周目
- 繰り返し条件判定:
i <= 10
、i
は10以下なので(i = 10
)繰り返し処理に入る。 - 処理実行:
console.log(i)
が実行され、コンソールに10と表示される。 - 実行後の処理:
i++
が実行されて、i
は11になる。 - 先頭に戻る。
for
文11周目
繰り返し条件判定:i <= 10
、i
は10以下でない(i = 11
)ので繰り返し処理は終了される。
繰り返しパターン
さらに、他にも1〜10以外のパターンの繰り返しを試して理解を深めましょう。
1〜100までを表示
実際に1〜100までを表示できるか試してみましょう。
|
|
上記のように、繰り返し条件を「i
が100以下」に設定することで、100まで出力されます。
5〜15までを表示
初期化の値を変更すれば、その数値から処理を開始できます。
|
|
1〜10まで2つおきに表示
今までi++
と1つずつカウントアップしていたのを2つずつにすることによって、1,3,5,7…と出力できます。
|
|
サンプルの実行環境
https://jsfiddle.net/kintone/q8gzh513/2/
変数i
について
今回for文では変数i
を利用していますが、変数名はもちろんi
でなくても問題ありません。
ただ、毎回変数名を考えるのも面倒ですし、このような繰り返し処理のために変数名i
を使うことが業界的な常識になっています。
複数の繰り返し処理がある場合は、i
以外にj
k
l
などが使われます。
逆に、変数名i
で分かりにくい場合は、分かりやすい変数名にすることもあります。
まとめ
- for文は繰り返し処理を行いたいときに活用できる。
- for文に必要なものは、初期化、繰り返し条件と繰り返し処理後の定義
- 初期化、繰り返し条件、繰り返し処理後の定義によってさまざまな繰り返しが可能になる。
いかがでしたでしょうか。
これも慣れないうちは難しいですが、kintoneのJavaScriptカスタマイズでも複数のレコードを扱うときや、テーブルを扱うときに必須の技術ですので、ぜひマスターしてください。
次回はもう少し実用的なfor文の使い方を学んでいきます。