안녕하세요. 성조입니다.
예전에 강남에 있는 중소기업 면접 볼 때 인원이 3 자릿수를 넘었고, Java 직군을 지원했는데 JavaScript 관련해서 반복문을 다루는 문제가 나왔던 것이 생각나서 기본기를 다질 겸 겸사겸사 포스팅을 작성했습니다.
혹여나 올바르지 못한 지식을 전달하고 있다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다.
반복문(LooP)이란?
프로그래밍에서 반복문(LooP)이란 동일하거나 유사한 작업을 여러 번 반복 실행할 때 사용하는 구문이다. 이는 코드의 재사용성을 높이고, 코드의 길이를 줄여 효율성을 향상한다.
하지만 부분별 한 중첩 반복문은 반복문 호출의 양이 많아질 때. 기하급수적으로 많아질 수 있으므로 주의하여 사용해야 한다.
사실 자바스크립트 역시 다른 프로그래밍 언어와 반복문 개념은 거의 유사하다. 하지만 자바스크립트에 맞는 반복문 예제를 확인하는 것도 좋은 학습이라 생각한다.
For Loop (For 반복문)
for (let i = 0; i < 10; i++) {
console.log(i);
}
가장 기본적으로 사용되는 반복문이다.
"변수 i를 0으로 시작해서, i가 10보다 작은 동안, 매 반복마다 i를 1 증가시키며 코드 블록을 실행하라"라는 의미를 갖는다.
for ([초기문]; [조건문]; [증감문]){
문장
}
초기문은 처음 초기화 부분을 의미하며, 조건문은 언제까지 반복문이 반복될 것인지를 얘기한다.
증감문은 초기문 값이 조건문에 만족할 수 있도록 증가 또는 감소하여 조건까지 만족시킬 수 있게 도와주는 값이다.
출력 예시
While Loop (While 반복문)
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
주어진 조건이 참일 때까지 반복하는 코드이다.
위 코드는 "변수 i가 10보다 작은 동안 코드 블록을 실행하라. 매 반복마다 i를 1씩 증가시킨다."라는 의미를 가지고 있다.
출력 예시
Do-While Loop (Do-While 반복문)
let i = 0;
do {
console.log(i);
i++;
} while (i < 10);
코드 블록을 먼저 한 번 실행한 후, 조건이 맞는 동안 반복되는 방법이다.
출력 예시
For-In Loop (For-In 반복문)
let obj = {a: 1, b: 2, c: 3};
for (let prop in obj) {
console.log(`obj.${prop} = ${obj[prop]}`);
}
For-In 반복문은 객체의 열거 가능한 속성 값을 반복한다.
obj라는 객체의 각 속성에 대해 그 속성명과 값을 출력하는 예제 코드이다.
출력 예시
For-OF Loop (For-Of 반복문)
let array = [1, 2, 3, 4, 5];
for (let value of array) {
console.log(value);
}
For-Of 반복문은 반복 가능한 객체(ex 배열, 문자열, Set, Map, etc...)에 대해 반복한다.
위 코드에는 'array'라는 배열이 있다. 반복문은 각 요소에 대해 그 값을 출력한다.
출력 예시
오타나 궁금한 부분이 있다면 언제든지 댓글 달아주시면 최대한 답변드릴 수 있도록 하겠습니다.
다음 포스팅 때 뵙겠습니다. 감사합니다.
- 참조 -
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Loops_and_iteration
루프와 반복 - JavaScript | MDN
루프는 어떤 것을 반복적으로 시행할때 빠르고 간편한 방법을 제공합니다. JavaScript Guide의 이 항목은 JavaScript 에서 사용이 가능한 서로 다른 여러가지 반복문을 소개합니다.
developer.mozilla.org
'Javascript' 카테고리의 다른 글
[JavaScript] Spread 연산자(문법)와 Rest 파라미터(매개변수) 정리와 차이점 (0) | 2023.05.29 |
---|---|
[JavaScript] 호출 스택 (Call Stack) (0) | 2023.05.26 |
[Javascript] dependencies와 devDependencies 차이점 정리 (0) | 2023.03.25 |
[JavaScript] 표준 내장 객체. 전역 함수 속성 정리 (0) | 2022.12.13 |
[Javascript] 식별자 네이밍 규칙 (JavaScript Coding Conventions) (0) | 2022.11.28 |