JS/JavaScript&TypeScript

JavaScript&TypeScript 08. 반복문

shin96bc 2022. 4. 3. 00:02

(1) 반복문 ( Loop )

     Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/08_Loop

     1) for 문
          <1> for 문의 첫번째 인자값에는 초기값이 들어간다
               ex) for(let i=0; ; ){}
          <2> for 문의 두번째 인자값에는 비교식이 들어간다
               ex) for(let i=0; i<5; ){}
          <3> for 문의 세번째 인자값에는 증감식이 들어간다
               ex) for(let i=0; i<5; i++){}
               ex) for(let i=0; i<5; i--){}
          <4> for 문은 초기값부터 시작해서 비교식이 거짓이 될 때 까지 반복한다. 
          <5> 한번 반복할 때 마다 증감식이 적용된다.
          <6> 증감식이 없으면 무한루프가 된다.
          <7> for 문은 비교식을 먼저 진행해서 만약에 처음부터 false 라면 

                 바디에 문장이 한번도 실행되지 않는다.
          ex) 
               const arr = ['a', 'b', 'c', 'd'];
               for(let i=0;i<arr.length; i++) {
                    console.log(arr[i]);
               }

     2) while 문
          <1> while 문의 인자값으로는 비교식 혹은 true, false 만 들어갈 수 있다.
          <2> 인자값이 거짓이 될 때 까지 반복한다.
          <3> 반복에 필요한 변수는 while 문 밖에서 만들어야한다.
          <4> while 문은 비교식을 먼저 진행해서 만약에 처음부터 false 라면 

                 바디에 문장이 한번도 실행되지 않는다.
          ex) 
               let i=0;
               while(i< arr.length) {
                    console.log(arr[i]);
                    i++;
               }

     3) do while 문
          <1> do while 문 인자값으로는 비교식 혹은 true, false 만 들어갈 수 있다.
          <2> 인자값이 거짓이 될 때 까지 반복한다.
          <3> 반복에 필요한 변수는 do while 문 밖에서 만들어야한다.
          <4> for 문, while 문과는 다르게 먼저 바디에 문장을 한번 실행하고 그 이후에 비교식을 

                 진행한다는 차이점이 있다.
          <5> 비교식이 false 이더라도 최소 한번은 실행된다.
          ex) 
               let i = 0;
               do {
                    console.log(arr[i]);
                    i++;
               }while(i< arr.length)

     4) for of 문
          <1> for of 문은 배열에서 모든값을 차례대로 꺼낼때 사용한다.( 배열을 순회할 때 사용한다. )
          <2> 인자값에는 배열에서 꺼낸 값을 담을 변수가 하나 필요하다.
          <3> 인자값에서 사용하는 변수는 바디의 문장에서 값이 바뀐다면 let, 

                 그냥 읽기만 한다면 const 를 사용한다.
          ex) 
               for(const item of arr) {
                    console.log(item);
               }

     5) for in 문
          <1> for in 문은 for of 와 다르게 배열의 값을 꺼내는게 아니라, 배열의 키값 

                 즉, 위치값을 꺼낼떄 사용한다.
          <2> 인자값에는 배열에서 꺼낸 값을 담을 변수가 하나 필요하다.
          <3> 인자값에서 사용하는 변수는 바디의 문장에서 값이 바뀐다면 let, 

                 그냥 읽기만 한다면 const 를 사용한다.
          <4> for in 문은 배열을 순회할 때 사용하는건 그닥 적절하지 못하다. 그것 보다는 실제 오른쪽이

                 배열이든 객체든 그 키의 값을 하나씩 꺼내올 때 많이 쓰게되는 반복문이다.
          ex) 배열순회
               for(const index in arr) {
                    console.log(arr[index]);
               }
          ex) 키값을 꺼내올 때
               const obj = {
                    color: 'red',
                    width: 200,
                    height: 200,
               };

               for(const key in obj) {
                    console.log(key); // 키값인 color, width, height 가 출력된다.
               }