ループ
JavaScript の ループ処理には while と for の2つがあります。
while
while ループは評価が true の間、ループの処理(イテレーション)を繰り返します。
while ( 評価 ) {
イテレーション // 評価が true の間 ループの処理を繰り返す
}let i = 0 ;
while ( i < 3 ) {
console.log( i ) ;
++i ;
}
// 0
// 1
// 2do…while ループ
評価をイテレーションの下に持っていくことにより、必ず1回はイテレーションを実行する。
let i = 3 ;
do {
console.log( i ) ;
} while ( i < 3 )
// 3for
for ループは、初期値から評価が true の間指定された間隔でループの処理(イテレーション)を繰り返します。
for( 初期値 ; 評価 ; 間隔 ) {
イテレーション // 評価が true の間 ループの処理を繰り返す
}for ( let i = 0 ; i < 3 ; ++i ) {
console.log( i ) ;
}
// 0
// 1
// 2for の式は省略可能です。
let i = 0 ;
for ( ; ; ) {
if ( i > 3 ) break ;
console.log( i ) ;
++i ;
}
// 0
// 1
// 2
// 3for…in *ES2015
for…in 文はオブジェクトからプロパティを取り出します。
let obj = {
name: 'さくら',
age: 50,
company: 'とらや',
country: '葛飾柴又',
}
for ( let pro in obj ) {
console.log( pro + ': ' + obj[pro] ) ;
}
// name: さくら
// age: 50
// company: とらや
// country: 葛飾柴又for…of *ES2015
for…of 文は反復可能なオブジェクト( Array / String / Map 等)に対してループを作成します。
Array (配列)に対して for…of
let ary = [ '寅次郎' , 'さくら' , 'タコ社長' , 'ひろし' , 'みつお' , 'ごぜんさま' ] ;
for ( let val of ary ) {
console.log( val ) ;
}
// 寅次郎
// さくら
// タコ社長
// ひろし
// みつお
// ごぜんさま
String (文字列)に対して for…of
let str = 'タコ社長' ;
for ( let val of str ) {
console.log( val ) ;
}
// タ
// コ
// 社
// 長Map (Mapオブジェクト)に対して for…of
let map = new Map( [
[ '車寅次郎' , '渥美清' ] ,
[ '諏訪さくら' , '倍賞千恵子' ] ,
[ 'タコ社長' , '太宰久雄' ] ,
[ '諏訪博' , '前田吟' ] ,
[ '諏訪満男' , '吉岡秀隆' ] ,
[ '御前様' , '笠智衆' ] ,
]) ;
for ( let val of map ) {
console.log( val ) ;
}
// ['車寅次郎', '渥美清']
// ['諏訪さくら', '倍賞千恵子']
// ['タコ社長', '太宰久雄']
// ['諏訪博', '前田吟']
// ['諏訪満男', '吉岡秀隆']
// ['御前様', '笠智衆']ループにおける break と continue
ループにおける break はループを終了します。 continueは現在のイテレーションを中断して次のイテレーションに移ります。
for ( let i = 0 ; ; ) {
++i ;
if ( i < 3 ) continue ;
if ( i > 3 ) break ;
console.log( i ) ;
}
// 3参考リンク
MDN 開発者向けのウェブ技術 > while
MDN 開発者向けのウェブ技術 > do…while
MDN 開発者向けのウェブ技術 > for
MDN 開発者向けのウェブ技術 > for…in
MDN 開発者向けのウェブ技術 > for…of
MDN 開発者向けのウェブ技術 > Map
MDN 開発者向けのウェブ技術 > 式と演算子
MDN 開発者向けのウェブ技術 > JavaScript「再」入門
