2022. 11. 1. 00:23ㆍ프론트엔드개발/JavaScript
안녕하세요~ totally 개발자입니다~
반복문2 - for
오늘은 for 반복문에 대해서 살펴보겠습니다. 프로그래밍을 배울 때 반드시 알고 있어야 하는 개념 중 하나로 저번에는 while 반복문을 알아보았고 이번에는 for 반복문의 기본 사용 방법에 대해서 알아보겠습니다.
for (let i = 0; i < 5; i++) {
console.log(i);
}
앞서 살펴본 while문에서는 조건만 명시되는 반면, for문에서는 위에 보시는 것처럼 초기화, 조건, 상태 업데이트 이 3가지의 단계를 미리 명시해주고 내용을 입력하게 됩니다. 물론 3가지를 필수적으로 입력하는 것은 아니고 for (let i = 0; ; ) 이렇게 생략해도 무방하나 세미콜론으로 그 부분에 대한 공간은 표시해주셔야 합니다. 즉 다시 정리하면 아래와 같습니다.
let i = 0; | i < 5; | i++ |
초기화(initialization) | 반복문 조건 | 반복문 업데이트(증감식) |
반복문을 위한 변수 설정 | 반복문을 위한 조건 설정 | 반복문을 위한 변수 업데이트 |
이렇게 보통 사용이 되지만 for문은 다양한 형태로 사용이 됩니다.
for ... in / for ... of
이 2가지 형태의 for in, for of도 정말 많이 사용하는 것들로, 그 차이를 잘 알고 있어야 합니다.
for in | 주로 객체(object)를 열거할 때 많이 사용되며 enumerable(셀 수 있는)한 것들만 출력할 때 사용합니다. |
for of | Iterable(반복 가능한)인 자료형에 사용되며 주로 배열, set, map 등에 사용된다고 보시면 됩니다. |
예제를 살펴보도록 하겠습니다.
for in 예제입니다.
const obj = {
1: "a",
2: "b",
3: "c"
};
for (elem in obj) {
console.log(elem);
}
for of 예제입니다.
const arr = [1, 2, 3];
for (i in arr) {
console.log(arr[i]);
}
forEach
마지막으로 foreach인데 이것도 많이 사용하기 때문에 반드시 알고 있어야 하는 것으로, 주로 array 객체 및 map과 set(ES6 이상)에서 사용 가능하며 배열의 모든 요소에 접근하여 차례로 작업을 발생시키는 역할을 합니다. 이 foreach에는 callback(콜백) 함수가 들어가며 이 콜백 함수에서 배열의 요소에 접근하여 코드를 구현할 수 있습니다. 바로 예제를 살펴보겠습니다. 먼저 주의하실 점은 자바스크립트 버전에 따라 즉 ES5, ES6 이상 버전에 따라 코드가 달라집니다.
먼저 ES5 기준으로 코드를 보겠습니다. ES5에서는 let, const 등의 키워드와 화살표 함수 등 지원되지 않습니다.
var arr = ["a", "b", "c", "d", "e"];
arr.forEach(function(element) {
console.log(element);
});
반면, ES6 이상의 코드로는 아래처럼 const 활용, 화살표 함수 => 등을 활용하여 코드를 간결화할 수 있습니다.
const arr = ["a", "b", "c", "d", "e"];
arr.forEach(element => {
console.log(element);
});
여기까지 for의 기본 문법, for ... in, for ... of, forEach까지 살펴보았습니다. 이 4가지들 중에서 1가지만 선택해서 반복문을 구현하는 경우는 드물기 때문에 적절한 상황과 변수 타입에 따라 알맞는 방법으로 구현하시면 되고 또한 조건만 들어가는 while문이 훨씬 유리한 경우도 존재하기 때문에 한 가지 방법만 고수하기 보다는 여러 방법을 터득한 다음, 각 상황에 맞는 코드로 작성하시면 됩니다. 감사합니다.
'프론트엔드개발 > JavaScript' 카테고리의 다른 글
[007] 자바스크립트 (JavaScript) - 핵심요약(함수 - Function) (0) | 2022.11.15 |
---|---|
[006] 자바스크립트 (JavaScript) - 핵심요약(DOM Event) (0) | 2022.11.01 |
[004] 자바스크립트 (JavaScript) - 핵심요약(반복문1 - while) (0) | 2022.10.25 |
[003] 자바스크립트 (JavaScript) - 핵심요약(조건문 - if, switch) (0) | 2022.10.23 |
[002] 자바스크립트 (JavaScript) - 핵심요약(데이터 타입) (0) | 2022.10.14 |