🌈 반복문(while & for)
🔥 while문
🔥 for문
🔥 break & continue
1.while문
3) while문
- while문 선언 : 🔍 while( condition ) { body };
while (condition) {
}
let i = 0;
while (i < 3) {
console.log( i );
i++;
}
let i = 3;
while (i) {
console.log( i );
i--;
}
2) do...while문
- 본문을 최소한 한번이라도 실행 한 뒤, 조건(true인지, false인지)에 따라 반복문 실행
- while문 선언 : 🔍 do { body } while( condition );
do {
} while (condition);
let i = 0;
do {
alert( i );
i++;
} while (i < 3);
2.for문
1) for문
- for문 선언 : 🔍 for( begin; condition; step ) { body };
- begin을 먼저 실행 후, condition에 맞으면 반복 1회, 그 다음에 step을 실행하고 다음 반복 실행
for (begin; condition; step) {
}
for (let i = 0; i < 3; i++) {
alert(i);
}
2) length 유형
const data = ['banana', 'apple', 'orange'];
for (let i=0; i<data.length; i++){
console.log(data[i]);
}
3) typeof 유형
const data = ['banana', 10, true, 'kimchi', false];
for (let i=0; i<data.length; i++){
console.log(typeof data[i]);
}
4) for ... of [Array]
- JavaScript에서 "for ... of"는 Python에 "for ... in"과 유사
- 배열 안에 요소를 한개씩 순차적으로 탐색
const data = ['banana', 'apple', 'orange'];
for (let i of data){
console.log(i);
}
4) for ... in [Object]
- 객체를 돌며 값을 하나씩 탐색함
- for문을 안쓰고 Object의 메서드를 이용해 객체의 값을 리스트로 돌려 받을 수 있음
- Object.keys(), Object.values(), Object.entries()
const data = {
name : 'Jaewon',
age : 20,
address : 'seoul',
hobby : 'coding'
}
for (let i in data){
console.log(i)
}
const data = {
name : 'Jaewon',
age : 20,
address : 'seoul',
hobby : 'coding'
}
for (let i in data){
console.log(data[i])
}
const data = {
name : 'Jaewon',
age : 20,
address : 'seoul',
hobby : 'coding'
}
console.log(Object.keys(data))
const data = {
name : 'Jaewon',
age : 20,
address : 'seoul',
hobby : 'coding'
}
console.log(Object.values(data))
const data = {
name : 'Jaewon',
age : 20,
address : 'seoul',
hobby : 'coding'
}
console.log(Object.entries(data))
3.break & continue
1) break
- 반복문 내부에서 어떤 상황을 마주했을 때, 반복문을 종료하고 빠져나갈 수 있게 해줌
- '?' 오른쪽에는 break가 올 수 없음
let sum = 0;
while (true) {
let value = +prompt("숫자를 입력하세요.", '');
if (!value) break;
sum += value;
}
console.log( '합계: ' + sum );
2) continue
- 현재 실행 중인 반복을 건너뛰고(skip), 다음 반복으로 넘어감(조건 통과)
- 특정 조건의 반복은 생략하고 반복을 계속 진행하게 할 때 사용('break의 가벼운 버전')
- '?' 오른쪽에는 continue가 올 수 없음
for (let i = 0; i < 10; i++) {
if (i % 2 == 0) continue;
console.log(i);
}
for (let i = 1; i < 10; i++) {
if (i % 2 != 0) continue;
console.log(i);
}
3) break / continue와 레이블
- 중첩된 반복문을 한번에 빠져나와야하는 경우 레이블 사용
labelName: for (...) {
...
}
outer : for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
let input = prompt(`(${i},${j})의 값`, '');
if (!input) break outer;
}
}
console.log('완료!');