0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【javascript】ループ文と演算子

Last updated at Posted at 2021-11-22

繰り返し処理の基本

for


/*
for(初期化; 演算子; 評価式;){
  処理
 }
*/

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

while


let i = 0; //初期化
while(i < 10){ //演算子
    console.log(i); //処理
    i++; //評価式
}

演算子

値を元に処理を行い値を返す記号

演算子の優先順位

以下の表は優先順位の最も高いもの (21) から最も低いもの (1) の順に並べられています。
全文は公式リファレンスへ
スクリーンショット 2021-11-22 19.04.03.png

case

例えば優先順位20のメンバーへのアクセスは左から右に処理をしていく。
a + b || c + d =>a + bを処理してから c + dという流れ。

case2

スクリーンショット 2021-11-22 19.16.15.png

  • 加算より乗算が優先順位が高いため乗算が先に計算される。
let a = 1 + 2 * 3;
console.log(a)

>>> 7

case3

スクリーンショット 2021-11-22 19.18.08.png

  • グループ化は最高優先順いとなるため、加算が先に処理される。
let a = (1 + 2) * 3;
console.log(a)
>>> 9

case4 インクリメント

スクリーンショット 2021-11-22 19.40.02.png


let a = 0;
console.log(a)

//後方につけた場合
let b = a++
console.log(b, a)
>>> 0 1
//a(0)がbに代入されたあとに+1されているので
//bは0 aは1となる。


//式を分解すると
let b;
a = (b = a) + 1

//グループ化したものが優先順位が高いため、a(0)がbに代入され
// その後aに+1されるのでa = 1となる。

//前方の場合
let b = ++a
console.log(b, a)
>>> 1 1

//式の分解
let a = 0;
let b;
a = b = a + 1
//すなわち
a = b = 1
//代入の優先順位は右から左のため、
// b = 1, b = aとなるため、a と b 両方1となる。

console.log(a, b)
>>> 1 1

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?