본문 바로가기
Language/JavaScript

[JavaScript] 제어문 - 반복문

by jsh5408 2021. 10. 21.

반복문(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

댓글