어떤 언어를 사용하던 조건문과 반복문은 정말 많이 사용하게 될 수밖에 없다. 각각의 Case에 따라 내가 원하는 결과를 얻기 위해서 조건문을 사용하고, 반복문을 통해 하나의 코드로 동일한 작업을 수행할 수 있도록 해줄 수 있다.
1. 조건문( if문 )
가장 대표적인 조건문 사용방법은 if문을 사용하는 것이다. 입력받은 점수가 60이하일 때, 재시험 대상이라는 문구를 띄워주었다.
const mathScore = prompt('영어 점수를 입력해주세요.')
if(mathScore <= 60) {
alert('재시험 대상입니다.')
}
여기서 60이하일 때를 제외한 다른 조건을 추가하고 싶다면 else if, else 를 사용하면 된다. 앞서 배운 비교연산자를 조건문에 이용해 아래와 같은 결과를 이끌어낼 수 있는 것이다.
const score = (EnglishScore) => {
if(EnglishScore > 90) {
alert('잘했어요!')
} else if(EnglishScore > 70) {
alert('조금 더 분발하세요.')
} else {
alert('재시험 대상입니다!')
}
}
score(40) // 재시험 대상입니다!
score(58) // 재시험 대상입니다!
score(85) // 조금 더 분발하세요.
score(100) // 잘했어요!
2. 조건문 ( switch문 )
보통 주로 if문을 사용해서 switch문을 사용해본적은 거의 없는 것 같은데 아래와 같이 작성해볼 수 있다.
// 코드가 원하는대로 실행되지 않는 문제
let subject = prompt('어떤 수업 시간인가요?'); // 수학
switch(subject){
case '국어' :
console.log('국어 시간입니다.');
case '수학' :
console.log('수학 시간입니다.');
case '영어' :
console.log('영어 시간입니다.');
}
// 수학 시간입니다.
// 영어 시간입니다.
// break를 통해 원하는 값만 얻기
let subject = prompt('어떤 수업 시간인가요?'); // 수학
switch(subject){
case '국어' :
console.log('국어 시간입니다.');
break;
case '수학' :
console.log('수학 시간입니다.');
break;
case '영어' :
console.log('영어 시간입니다.');
break;
}
// 수학 시간입니다.
if문의 경우에는 조건에 해당하지 않을 때를 else를 사용해 구분해주었지만 switch문에서는 default를 통해 조건이 맞지 않을 때를 표현할 수 있다.
let subject = prompt('어떤 수업 시간인가요?'); // 음악
switch(subject){
case '국어' :
console.log('국어 시간입니다.');
break;
case '수학' :
console.log('수학 시간입니다.');
break;
case '영어' :
console.log('영어 시간입니다.');
break;
default :
console.log('제대로 입력해주세요.')
}
// 제대로 입력해주세요.
3. 반복문( for문 )
반복문은 하나의 코드로 동일한 형태를 반복해서 표현해줄 수 있으며, 반복문과 조건문을 같이 사용해서 적절한 결과를 도출할 수 있다.
for(let i = 0; i < 7; i++) {
console.log(i)
}
// 0
// 1
// 2
// 3
// 4
// 5
// 6
4. 반복문( while문 )
while 문은 for문과 다르게 처음 초기값을 지정해주고 while문 안에는 조건을 걸어준다. 만약 초기값 i가 0인 상태에서 while문 안에 아래와 같은 조건만 넣어주게 되면 반복문은 무한루프에 빠지게 된다.
let i = 0;
while(i < 6) {
console.log(i)
}
그래서 위와 같이 작성하는 것이 아니라 아래와 같이 작성해주어야한다.
let i = 0;
while(i < 6) {
console.log(i)
i++;
}
5. 반복문( do while문 )
do while문은 while과 비슷하지만 조건문을 아래로 옮길 수 있다는 특징이 있다. 또한 while문은 루프에 들어가기 전, 조건식을 먼저 검사하는 특징이 있지만 do while문은 루프를 먼저 한번 실행한 후에 조건식을 검사한다는 특징을 가진다.
let i = 0;
do{
i++;
console.log(i)
} while(i < 6)
// 1
// 2
// 3
// 4
// 5
// 6
6. 반복문에서 탈출하기 ( break와 continue )
반복문 내에서 break를 실행하면 코드 실행을 멈추고 해당 반복문을 빠져나온다.
while(true) {
let answer = confirm('계속 할까요?!')
if(!answer){
break;
}
}
continue는 반복을 멈추고 다음 반복으로 진행되기 때문에 반복문을 빠져나올 수는 없다. 하지만 아래와 같이 사용이 가능하다.
for(let i = 0; i < 10; i++) {
if(i % 2) {
continue;
}
console.log(i)
}
// 0
// 2
// 4
// 6
// 8