반복문(iteration statements)
- 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문
1. while 문
2. do / while 문
3. for 문
4. for / in 문
5. for / of 문
1. while 문
- 특정 조건을 만족할 때까지 계속해서 주어진 실행문을 반복 실행
while (표현식) {
표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
}
- 표현식이 참이면 내부 실행문 실행 => 반복
- 표현식의 결과를 변경하는 실행문이 없을 경우, 무한 루프 => 영원히 종료 X
- 실행문이 한 줄뿐일 경우, 중괄호 { } 생략 가능
2. do / while 문
- 1. while 문 : 루프에 진입하기 전, 표현식부터 검사
- 2. do / while 문 : 먼저 루프를 한 번 실행한 후, 표현식 검사
- 무조건 한 번은 루프 실행
do {
표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
} while (표현식);
3. for 문
- 초기식, 표현식, 증감식을 모두 포함한 반복문 => 좀 더 간결
for (초기식; 표현식; 증감식) {
표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
}
- 초기식, 표현식, 증감식은 모두 생략 가능
- 쉼표 연산자(,) 를 이용해 여러 개의 초기식, 증감식 사용 가능
for (let i = 1; i < 10; i++) {
console.log(i);
}
- 실행문이 한 줄뿐일 경우, 중괄호 { } 생략 가능
4. for / in 문
- 객체의 모든 열거할 수 있는 프로퍼티(enumerable properties)를 순회할 수 있도록 함
열거할 수 있는 프로퍼티(enumerable properties)
: 내부적으로 enumerable 플래그가 true 로 설정된 프로퍼티
- 변수를 이용하여 프로퍼티에 순차적으로 접근
for (변수 in 객체) {
객체의 모든 열거할 수 있는 프로퍼티의 개수만큼 반복적으로 실행하고자 하는 실행문;
}
- 인덱스의 의미
const arr = [3, 4, 5];
// 1
for(let i = 0; i < arr.length; i++) {
console.log(i);
}
// 2
for(let i in arr) {
console.log(i);
}
// 1, 2 는 같은 동작
// << 결과 >>
// 0 1 2
// 0 1 2
- 객체 접근 예시
const obj = { name : "이순신", age : 20 };
for (let i in obj) {
console.log(i);
}
// << 결과 >>
// name
// age
5. for / of 문
- 반복할 수 있는 객체(iterable objects)를 순회할 수 있도록 해주는 반복문
반복할 수 있는 객체(iterable objects)
- Array, Map, Set, arguments 객체
for (변수 of 객체) {
객체의 모든 열거할 수 있는 프로퍼티의 개수만큼 반복적으로 실행하고자 하는 실행문;
}
- value 값의 의미
const arr = [3, 4, 5];
// 1
for(let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
// 2
for(let value of arr) {
console.log(value);
}
// 1, 2 는 같은 동작
// << 결과 >>
// 3 4 5
// 3 4 5
- Set 객체 접근 예시
const arr = new Set([1, 1, 2, 2, 3, 3]);
for (let value of arr) {
console.log(value);
}
// << 결과 >>
// 1 2 3
- 익스플로러에서 지원하지 X
http://tcpschool.com/javascript/js_control_loop
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'Language > JavaScript' 카테고리의 다른 글
[JavaScript] 배열 (0) | 2021.10.24 |
---|---|
[JavaScript] 기타 제어문 (0) | 2021.10.21 |
[JavaScript] 제어문 - 조건문 (0) | 2021.10.21 |
[JavaScript] 연산자 (0) | 2021.10.21 |
[JavaScript] 변수 (var, let, const) (0) | 2021.10.20 |
댓글