자바스크립트는 다른 언어의 for문으로 작성해야 할 코드를 메소드를 사용해서 반복해서 탐색할 수 있다는 장점이 있다.
그 전에 반복문을 정리해야, 메소드를 잘 쓸 수 있지 않을까??
반복적으로 실행해야 할때 코드를 작성한다
종류
- for
- for...in
- for...of
- forEach() - Array 메소드
- while
- do...while
for
let str = '';
for (let i = 0; i < 9; i++) {
str = str + i;
}
괄호로 감싸고 세미콜론으로 구분한 세 개의 선택식과, 반복을 수행할 문(주로 블럭문)으로 이루어져 있다
for 문 안에 3가지 요소가 꼭 필요하다
- `let i = 0;` 변수 let i 를 선언하고, 0으로 할당한다. 반복문 초기값을 설정한다.
- `i < 9;` for 문을 얼마나 돌릴 것인지 조건을 적는다. 조건이 참일 경우 동안 for문이 실행된다.
- `i++` {}안 루프를 한번 돌때마다 변수 증가 조건이다. 감소 조건도 가능하다
코드는, str 문자열에 숫자를 붙인다.
결과는 `012345678`
for...in
`object`에서 사용할 수 있다. 배열에도 사용가능하지만, 추천되지 않는다.
const object = { a: 1, b: 2, c: 3 };
for (const key in object) {
console.log(`${key}: ${object[key]}`);
}
/////
"a: 1"
"b: 2"
"c: 3"
for문과 유사하지만 사용법이 다르다
object 가 가지고 있는 `key : value` 값을 in 방식으로 조건을 주고
value는 `object[key]`로 접근한다.
for...of
반복 가능한 객체(Array, Map, Set, String, TypedArray, arguments 객체 등 포함)에 대해 사용할 수 있다.
보통은 배열에 사용한다고 흔히 알려져 있다.
const array1 = ['a', 'b', 'c'];
for (const element of array1) {
console.log(element);
}
/////
"a"
"b"
"c"
배열에 들어있는 0번째~마지막 번째 요소까지 순차적으로 출력된다.
배열안에 있는 요소를 꺼내쓸 때 사용하면 좋다.
forEach()
🔥화살표 함수 메소드
forEach는 공식문서 보면
Array, Map, Set, TypedArray 에 메소드로 사용된다. 그중 배열을 살펴보자
const array1 = [1, 2, 3];
array1.forEach((element) => console.log(element));
/////
1 2 3
이때 화살표 함수를 사용해서 각 el 의 값을 변경해 줄 수 있다.
console.log 대신에 `el*2`를 작성하면 각 요소에 2가 곱해진 값이 리턴된다.
while
조건(condition)이 참이면 실행되는 반복문.
조건은 문장안이 실행되기 전에 참, 거짓을 판단
while (condition) {
statement
}
false면 0회 실행이다
do...while
while과 다른점은 false 여도 1회 무조건 실행한다.
실행 수 while 조건이 false 인 경우 실행되지 않는다.
let result = '';
let i = 0;
do {
i = i + 1;
result = result + i;
} while (i < 5);
console.log(result);
적어도 1번은 실행하고 싶은 코드가 있을때 사용된다.
☑️ 배운점
사실, 나는 for, while, 메소드 들을 제일 많이 사용했고
for in, for of, do while은 잘 사용하지 않아서 잘 몰랐는데, 꼭 사용해야할 특수한 상황이 있을 것 같다.
미리미리 정리하기~~ 좋아요~~