初心者の独学でのプログラミング学習はとてもツライ…
プログラミングをマスターしたい!
今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。でも、いざ初心者がプログラミングをマスターしようとすると…
- 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
- プログラミングスクールに定期的に通うのは面倒だ
- 地方に住んでると家の近くにプログラミングスクールなんてない
- どのプログラミング言語を学べばいいのか悩む
- 実際の就職や転職にプログラミングが活かせるのか心配だ
など、プログラミングを自分で勉強しようとすると悩みが尽きません。
プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。
そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。
JavaScriptの基本的な制御構文であるループ処理をみていきましょう。
ループ処理は同じ処理を繰り返すのに便利な構文です。
例えば、数値の0から9までをconsole.log()でJavaScriptコンソールに表示するにはどうするでしょう?
1 2 3 4 5 6 7 8 9 10 |
console.log(0); console.log(1); console.log(2); console.log(3); console.log(4); console.log(5); console.log(6); console.log(7); console.log(8); console.log(9); |
これでも処理できますが、こういうわけには行かないですよね。
このような反復処理を行う制御構文をみていきましょう。
for文
先ほどの、数値の0から9までをJavaScriptコンソールに表示するような処理方法としてfor文があります。
for文は指定回数だけ繰り返す構文で、次のような形になります。
1 2 3 |
for (初期化式; ループ継続条件式; 増減式) { ループ内で実行する処理 } |
forに続けて丸括弧()の中に順に初期化式、ループ条件、増減式をセミコロン(;)で繋ぎます。波括弧{}でブロックを作ってその中に処理するコードを記述します。
数値の0から9までをfor文を使って表示してみましょう。
1 2 3 |
for (var i = 0; i < 10; i++) { console.log(i); } |
初期化式を変数iとして0にします。反復条件はこのiが10未満。この条件がtrueのときにここではインクリメントを使って1増加させています。
i = 0のとき、ループ条件に当てはまりますから、logに表示して1を加えます。その次はi = 1の場合、2の場合と順に繰り返し9まで成立します。i = 10のときにループ条件がfalseとなりますので、ループ処理から抜けて終了します。
これをconsole.log()を使って表示すると次のようになります。
冒頭のconsole.log()を10行書くよりもスッキリしているのがわかります。断然、こちらで処理する方が妥当ですね。
ちなみに1から100までを順に2増やして表示するには次のようになります。
1 2 3 |
for (var i = 1; i <= 100; i += 2) { console.log(i); } |
ここでは条件式に等号も入れてみました。ここは終了条件をどうするかで変わってきます。増減式はここでは代入演算子を使っています。JavaScriptコンソールには1 3 5 …97 99と表示されます。
また、配列を与えて、格納されているデータを一つ一つ取り出すこともできます。
1 2 3 4 |
var personalData = ['Yukichi', 'Fukuzawa', 1835, 'educator', 'NAKATSU']; for (var i = 0; i < personalData.length; i++) { console.log(personalData[i]); } |
変数personalDataに配列で値を入れています。ここでは福沢諭吉の名前、生年、職業、出身地を値にしてみました。
配列を取り出すにはインデックスの指定をするので、初期化式を0としてここから順に取り出します。ループ条件は配列のデータの長さをlengthを使って与えています。ここでは5になりますから、0から4までのインデックスを指定して値を順に取り出していくということになります。
順に取り出せているのがわかります。
この配列を逆から取り出すには次のようになります。
1 2 3 |
for (var i = personalData.length - 1; i >= 0; i--) { console.log(personalData[i]); } |
初期化式を配列の長さから1を引いたものとします。インデックスが0から始まるための調整です。そしてこれが正の値で有る限り反復処理をします。ここではデクリメントを使って初期化式の値を順に1引いて反復処理をしているわけです。
インデックスの最後の値から順に取り出されているのがわかります。
while文
反復処理の構文として、while文もあります。
while文は条件式によってループを制御する構文で、次のような形になります。
1 2 3 |
while(条件式) { 条件式がtrueの時に実行される処理 } |
先ほどと同じ配列を使って、while文で処理してみます。
1 2 3 4 5 6 |
var personalData = ['Yukichi', 'Fukuzawa', 1835, 'educator', 'NAKATSU']; var i = 0; while(i < personalData.length) { console.log(personalData[i]); i++; } |
配列は同じものです。配列はインデックスを使って取り出すので、初期値をi = 0とします。whileに続けて丸括弧()の中に条件式を書きます。この場合インデックスのiが配列の長さよりも小さい時に処理を行うということになります。波括弧{}の中に表示する処理を書いています。インデックスを指定して表示しますが、そのあとにインクリメントでインデックスの値を1増やしています。こうして、またwhileの条件式に戻って判定し、これを繰り返して、条件式がfalseになったらループを抜けます。
実行するとJavaScriptコンソールには次のように表示されます。
for文と同様に取り出されているのが確認できます。
continueとbreak
for、whileを使って反復処理をここまでやってきました。これまではあらかじめ決められた終了条件になった時にループを終了する形でしたが、特定の条件の時にループを強制的にスキップしたり中断したい場合があります。このような場合に利用できるのが、continueとbreakです。
continueでスキップ
まずcontinueからやって行きましょう。
continueは、条件に当てはまった時に、その処理をスキップして次の処理を繰り返すという時に使います。
先ほどと同じ配列を使ってfor文でやってみましょう。
1 2 3 4 5 6 |
var personalData = ['Yukichi', 'Fukuzawa', 1835, 'educator', 'NAKATSU']; for (var i = 0; i < personalData.length; i++) { if (typeof personalData[i] !== 'string') continue; console.log(personalData[i]); } |
ブロック処理の中に1文追加されています。
1 |
if (typeof personalData[i] !== 'string') continue; |
typeofで配列の値のデータ型を取り出して、これが文字列型で無い場合にcontinueするという意味です。
これは、
1 2 3 |
if (typeof personalData[i] !== 'string') { continue; } |
と書いたり、
1 |
if (typeof personalData[i] !== 'string') {continue;} |
とも書くことができますが、1行でスッキリ書いています。
配列の中に文字列では無いものが一つあります。数値型です。これがcontinue処理によってスキップされるコードになっています。
実行するとこうなります。
数値がスキップされて表示されているのが確認できます。これがcontineの処理です。
breakで中断
次はbreakをやって行きましょう。
breakは、条件に当てはまった時に、その処理で中断し処理を終了する時に使います。
continueのコードを書き換えてみます。
1 2 3 4 5 |
var personalData = ['Yukichi', 'Fukuzawa', 1835, 'educator', 'NAKATSU']; for (var i = 0; i < personalData.length; i++) { if (typeof personalData[i] !== 'string') break; console.log(personalData[i]); } |
contineがbreakになった以外は先ほどと同じコードです。
ここでは、typeofで配列の値のデータ型を取り出して、これが文字列型で無い場合にbreakするという処理になります。
実行するとこうなります。
数値型を取り出す段階で、処理が中断されて以降の値が取り出されていないのがわかります。これがbreakの処理です。
まとめ
JavaScriptの基本的な制御構文であるループ処理をみてきました。同じ処理をするのに繰り返し同じコードを書く必要が無くなります。
ループ処理は同じ処理を繰り返すのに便利な構文で、ここではfor文とwhile文を扱いました。
反復処理は決められた条件で終了しますが、continueやbreakを使って処理の途中でスキップしたり中断したりすることもできます。
自宅学習はオンラインプログラミングスクールを活用!
自宅学習にはオンラインプログラミングスクールがおすすめ!
オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。
気になるところは…
学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。
受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。
オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。
また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。
プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。
そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。
TechAcademyはおすすめのオンラインプログラミングスクール!
オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。
オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。
メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。
チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。
プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。
用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。
他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。
このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。
コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。
複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。
無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。