オーダーメイドコース
icon
icon

JavaScriptのfor文を省略形で書く方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptのfor文を省略形で書く方法について解説しています。ある構文を簡略化して書くことをショートハンドといいます。JavaScriptのfor文におけるショートハンドの書き方と実行例を見ていきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

JavaScriptのfor文を省略形で書く方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

for文を省略形で書く方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

ショートハンドとは

平たく言うと、省略した書き方のことです。「レンジでチンする」を「レンチン」のように略すのと同じです。JavaScriptの構文にも、いくつかショートハンド(省略した書き方)があります。

無理に使いすぎると、ソースコードがわかりにくくなってしまいますが、適切に使うと読みやすく少ない記述で楽に処理を表記できます。

JavaScriptでよく見かけるショートハンドで配列の初期化の例を1つ紹介します。

まずはショートハンドではない記述の場合、要素の値を入れる場合下記のように記述します。

let array = [];
array[0] = '1つめの値';
array[1] = '2つめの値';
array[2] = '3つめの値';

これは、ショートハンドでは下記のようにまとめて値を記述できます。

let array = ['1つめの値', '2つめの値', '3つめの値'];

記述量がぐっと減って楽になりました。

 

[PR] コーディングで副業する方法とは

for文のショートハンド

for文にもショートハンドがあります。
まずは、通常のfor文で5回ループする例を見てみます。

for(let i = 0; i < 5; i++){
  console.log(i);
}

for文では上記のように;(セミコロン)で区切って、3つの式を記述します。
1つ目は、カウンターなどに使う変数の宣言。
2つ目は、ループの反復判定の条件。
3つ目は、ループの反復終わりに実行される式(主にカウンターの増減)

ショートハンドの場合に省略できるのは、この3つの式全てになります。
3つ全て省略した場合は無限ループにならないよう制御が必要があり、条件もパッと見でわかりにくくなるので注意が必要です。

 

実際に使ってみよう

1つ目の式を省略する例
1つ目の変数宣言を省略する場合は、それより前の行で宣言することで可能になります。

var i = 0;
for( ; i < 5; i++){
  console.log(i);
}

2つ目の式を省略する例
反復条件である2つ目の式を省略するだけだと無限ループになります。
break文で終了させる必要があります。

for(let i = 0; ; i++){
  if(i === 5){
    break;
  }
  console.log(i);
}

3つ目の式を省略する例
3つ目の式を省略するとカウンターが増減せずに無限ループになりえます。
for文の処理の中でカウンターを増減させます。

for(let i = 0; i < 5; ){
  console.log(i);
  i++
}

 

まとめ

for文の省略形を紹介しました。
for文の省略は使う機会も少ないですが、こんなこともできるという言語の仕様を知ることで理解を深めることができます。

 

監修してくれたメンター

横山茂雄(よこやましげお)

フリーエンジニアとして活動中。サーバーサイドからフロントまで時代の波に合わせてスキルを変化させてきました。

言語、フレームワーク、DB、現場、いずれも転々としながら、筋トレも欠かさない体育会系エンジニアです。TechAcademyジュニアのゲームアプリコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプJavaScript/jQuery講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。