esle를 이용해 두 방향으로 분기할 수 있다.
let value= '사과'; let condition = false; // else문 실행 if (condition){ value = '바나나'; } else{ value = '포도' } console.log(value);
결과 : 포도
조건을 여러 개로 분기할 수 있다.
const score = 90; if (score >= 90) { // 90점 이상 console.log('A+'); } else if (score < 90 && score >= 80) { // 90점 미만 80점 이상 console.log('A'); } else if (score < 80 && score >= 70) { // 80점 미만 70점 이상 console.log('B+'); } else if (score < 70 && score >= 60) { // 70점 미만 60점 이상 console.log('B'); } else { // 60점 미만 console.log('F'); }
결과 : A+
위에서 아래로 차례로 실행되는 특성을 이용하여 좀 더 코드를 정리할 수 있다.
const score = 90; if (score >= 90) { // 90점 이상 console.log('A+'); } else if (score >= 80) { // 80점 이상 console.log('A'); } else if (score >= 70) { // 70점 이상 console.log('B+'); } else if (score >= 60) { // 60점 이상 console.log('B'); } else { // 60점 미만 console.log('F'); }
let first = true; let second = false; if (first) { console.log('첫 번째 조건 충족!'); if (second) { console.log('두 번째 조건도 충족!'); } else { console.log('두 번째 조건은 불충족!'); } } else { console.log('첫 번째 조건 불충족!'); }
결과 : 첫 번째 조건 충족!
두 번째 조건은 불충족!
중첩 if문을 최대한 피해야 한다. 조건문이 중첩되면 들여쓰기가 깊어지고 코드의 가독성이 떨어진다.
if - else if - else 문으로 바꾸는 연습이 필요하다.
let first = true; let second = false; if (first && second) { // first와 second 모두 true console.log('첫 번째 조건 충족!'); console.log('두 번째 조건도 충족!'); } else if (first) { // first만 true console.log('첫 번째 조건 충족!'); console.log('두 번째 조건은 불충족!'); } else { // 둘 다 false console.log('첫 번째 조건 불충족!'); }
결과 : 첫 번째 조건 충족!
두 번째 조건은 불충족!