조건문이란 프로그램 내에서 주어진 표혀식의 결과에 따라 별도의 명령을 수행하도록 제어하는 실행문이다.
쉽게 말하면 조건식의 값에 따라 실행 흐름을 나뉘고, 조건식의 값이 true
면, 실행시키고 false
면 다음 문장을 실행시키지 않거나 다음 문장을 실행시킨다.
조건문에는 기본적으로 if/else 문
이 있고, 조금 복잡하고 간편한 switch 문
이 있다.
if/else
는 " 만약 조건식 값이 맞다면 이걸 실행해라, 그렇지 않다면 이렇게 실행해라 " 라는 뜻이다.
만약 조건식의 평가 결과가 불리언 값이 아니면 강제로 불리언 값으로 변환되어 참,거짓을 구별한다.
코드 예시 1 ✍️
const a = 5
if (a < 10) {
console.log("맞아!")
} else {
console.log("다시 생각해봐!")
}
//맞아!
첫번째 코드 예시는 가장 기본적인 조건문이고,
a는 5라는 값을 지정해주고 a가 10보다 작아? 맞으면 콘솔에 "맞아!"를 출력해!
아니라면 콘솔에 "다시 생각해봐!"를 출력해!
코드 예시 2 ✍️
const name = "dohee";
if (name === "dosik") {
console.log("내 이름은 도식이야!");
} else if (name === "dohee") {
console.log("내 이름은 도희야!");
} else {
console.log("그건 내 이름이 아니야..");
}
//내 이름은 도희야!
두번째 코드 예시는 살짝 응용한 조건을 더 추가하고 싶은 경우에 사용하는 조건문이다.
name 이라는 값을 지정해주고 너가 name은 도식이가 맞아? 아니네? 다음 조건문으로 넘어가!
2번째 조건문에 name은 도희가 맞아? 맞아! 콘솔창에 "내 이름은 도희야!"를 출력해!
만약 else if
값이 dohee가 아니고 다른이름으로 설정해주면 콘솔창엔
"그건 내이름이 아니야.."가 나타난다.
if문 안에 if문을 작성할 수 있다. 이러한 if 문을 가리켜 중첩된 if문 이라고 한다.
중첩 if문은 대부분 세부 조건을 선택 할 때 사용하는 것 같다.
코드 예시 ✍️
const num = 10;
if (num > 20) {
console.log("num이 20보다 큽니다!");
} else {
if (num <= 15) {
console.log("num이 15보다 같거나 작습니다!");
} else {
console.log("다시 생각해보세요");
}
}
//Ten
중첩함수의 예시코드로 업앤다운을 생각했다.
답은 10이고, 첫번째로 게임을 시작한사람이 num이 20보다 큰가요? 라고 물어봤을때 false라서
다음 질문으로 내려간다 다음 순서사람이 num 15보다 작거나 같나요? 라고 물어봤을때 true라서
콘솔창엔 "num이 15보다 같거나 작습니다!"가 나타난다.
switch문
도if/else문
과 마찬가지로 조건 값에 따라 명령을 실행하지만,if/else문
보다 가독성이 좋다.
switch
문은 사용방법이 좀 다르다.
case문
은 상황(case)를 의미하고 표현식을 지정
default
는 case
에 해당하지 않을때 실행. 써도 되고 안써도 되고, 꼭 맨마지막에 안와도 된다.
break
는 case
와 default
를 사용할때 반드시 써줘야 하는 키워드.
코드 예시 ✍️
const student = "dohee";
switch (student) {
case "minsoo":
console.log("학생은 민수입니다.");
break;
case "seunghee":
console.log("학생은 성희입니다.");
break;
case "dohee":
console.log("학생은 도희입니다.");
break;
default:
console.log("여기에 없습니다.");
break;
}
//학생은 도희입니다.
switch
의 예시코드로 학생찾기를 생각했다.
변수값에 도희를 지정해주고,
switch
값에 도희 학생을 찾아 라는 조건을 생성한다.
첫번째 케이스에는 민수라는 학생이 있고 찾는 학생이 아니라 문장을 실행시키지 않고 밑으로 내려간다.
찾을때까지 케이스를 보면서 작업을 실행시킨다.
도희가 나오지 않을경우 default
에는 여기에 없습니다라고 콘솔창에 입력 실행시킨다.
🖐 여기서 잠깐 🖐
break
문을 작성하지 않을 경우엔, 값이 "여기에 없습니다"라고 나타난다.
이유는, case
문의 표현식과 일치하지 않더라도 실행 순서는 다음 case
문으로 연이어 이동하기 때문이다.