
조건문
조건문은 조건에 따라 코드가 실행 될 수 있고 안 될 수 있다. 이처럼 코드가 실행되는 흐름을 변경하는 것을 조건 분기라고 부른다.
if 조건문
자바스크립트에서 가장 일반적으로 사용되는 조건문은 if 조건문 이다. if 조건문의 형식은 아래와 같다. 조건이 true이면 if아래에 있는 코드 블록이 실행 되고, false면 else 아래 코트 블록이 실행된다.
if(조건) {
조건이 true 일 때 실행되는 코드;
} else {
조건이 false 일 때 실행되는 코드;
}
만약 코드가 한 문장으로 끝나면 아래와 같이 { }없이 그냥 작성하면 된다.
if(조건) true 일 때 실행되는 코드;
위와 같이 한 문장으로 끝날 때는 삼항연사자로 작성하는 게 보기 좋다. 아래와 같이 조건을 앞에 작성 하고 ? 뒤에 실행할 코드를 작성해주면 된다. 만약 조건이 true이면 ‘ : ‘ 앞에 코드가 실행 되고 false면 뒤에 코드가 실행된다.
(조건) ? true 일 때 실행되는 코드 : false 일 때 실행되는 코드;
중첩 조건문은 if { } 안에 또 다른 if문을 작성하는 것이다. 기본적인 형태는 아래와 같다.
if(조건A) {
//조건A가 true이면 중첩된 if문이 실행된다.
if(조건B) {
조건B가 true면 실행되는 코드;
} else {
조건B가 false면 실행되는 코드;
}
} else {
조건A가 false면 실행되는 코드;
}
if else 조건문은 하나의 조건으로 실행되는 코드이다. 하지만 여러가지 조건으로 코드를 실행 시키고 싶으면 if else if를 사용하면 된다.(위에서 얘기 했던 것처럼 if문이 하나의 코드로 작성할 수 있으면 { } 생략하고 작성해도 된다고 했다. 중첩 조건문에서 중첩되는 if가 하나의 코드 작성되면 else if로 변환해서 작성하는 게 코드 가독성에서 좋다고 생각한다.)
if(조건A) {
조건A가 true이면 실행되는 코드;
} else if(조건B) {
조건B가 true면 실행되는 코드;
} else if(조건C) {
조건C가 true면 실행되는 코드;
} else {
모든 조건이 false면 실행되는 코드;
}
switch 조건문
switch 문은 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮긴다. switch 문에서 if 문으로 바꾸는 것은 가능하지만 범위를 조건으로 가지는 if 문을 switch 문으로 바꿔 대체하는 것은 어렵다.
swich(표현식) {
case 조건A:
조건A가 맞으면 실행될 코드;
break;
case 조건B:
조건B가 맞으면 실행될 코드;
break;
default:
일치하는 case 문이 없을 때 실행되는 코드;
2주차 기본 숙제
if (x > 10) {
if (x < 20) {
console.log('조건에 맞습니다.')
}
}
if (x > 10 ㅁㅁ x < 20) {
console.log('조건에 맞습니다.')
}
위에 console.log(’조건에 맞습니다’)가 출력 되기 위해서는 x > 10 조건과 x < 20 조건이 모두 true여야 한다. 두 조건이 모두 true여야 true가 나오는 논리연사자는 논리곱연사자이다. 따라서 ‘ㅁㅁ’에 들어갈 기호는 ‘&&’ 이다.
if (x > 10 && x < 20) {
console.log('조건에 맞습니다.')
}
2주차 추가 숙제
const year = Number(prompt('태어난 해를 입력해주세요.'));
const animal = '원숭이, 닭, 개, 돼지, 쥐, 소, 호랑이, 토끼, 용, 뱀, 말, 양'.split(',');
document.write(`${year}년에 태어났다면 ${animal[year % 12]} 띠입니다.`);

split은 문자열을 구분하여 배열로 반환하는 메서드이다. 밑에 예를 보자
const word = 'Hello World'
//인수를 생략하면 대상 문자열 전체를 단일 요소로 하는 배열을 반환 한다.
word.split(); // -> ['Hello World]
//공백으로 구분하여 배열로 반환한다.
word.split(' ') // -> ['Hello', 'World']