(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 가 출력된다.
}
'JS > JavaScript&TypeScript' 카테고리의 다른 글
JavaScript&TypeScript 10. 인터페이스&타입 별칭 (0) | 2022.04.03 |
---|---|
JavaScript&TypeScript 09. 예외 ( Exception ) (0) | 2022.04.03 |
JavaScript&TypeScript 07. 조건문 (0) | 2022.04.02 |
JavaScript&TypeScript 06. 참조&복사 (0) | 2022.04.02 |
JavaScript&TypeScript 05. 식 ( Expression ) (0) | 2022.04.02 |