if 조건문
자바스크립트에서 가장 일반적인 조건문은 if 조건문
이다.
불 표현식의 값이 true
면 중괄호 안의 문장을 실행하고 false
면 문장을 무시합니다.
if (불 값이 나오는 표현식) {
불 값이 참일 때 실행할 문장
}
const date = new Date() // 현재 날짜와 시간을 갖는 객체 생성
const hour = date.getHours() // 현재시간을 0~23사이의 값으로 출력하는 메소드
//if 조건문
if ( hour < 12 ) { // 표현식 hour < 12 가 참일 때 실행합니다
alert('오전입니다.');
}
if ( hour >= 12 ) { // 표현식 hour >= 12 가 참일 때 실행합니다
alert('오후입니다.');
}
if else 조건문
조건문을 좀 더 편리하게 사용할 수 있도록 서로 반대되는 상황을 표현하는 구문을 제공합니다
바로 else
구문 입니다.
else
구문은 if
조건문 바로 뒤에 붙여서 사용합니다. 이를 조합한 조건문을 if else
조건문
이라고 부릅니다.
if (불 값이 나오는 표현식) {
불 값이 참일 때 실행할 문장
} else {
불 값이 거짓일 때 실행할 문장
}
const date = new Date() // 현재 날짜와 시간을 갖는 객체 생성
const hour = date.getHours() // 현재시간을 0~23사이의 값으로 출력하는 메소드
//if 조건문
if ( hour < 12 ) { // 표현식 hour < 12 가 참일 때 실행합니다
alert('오전입니다.');
} else { // 표현식 hour < 12 가 거짓일 때 실행합니다
alert('오후입니다.');
}
중첩 조건문
조건문 안에 조건문을 중첩해 사용하는 것을 중첩 조건문
이라고 합니다.
const date = new Date() // 현재 날짜와 시간을 갖는 객체 생성
const hour = date.getHours() // 현재시간을 0~23사이의 값으로 출력하는 메소드
//if 조건문
if ( hour < 11 ) { // 표현식 hour < 11 가 참일 때 실행합니다
alert('아침 먹을 시간입니다.');
} else { // 표현식 hour < 15 가 참일 때 실행합니다
if ( hour < 15) {
alert('점심 먹을 시간입니다.')
} else { // // 표현식 hour < 15 가 거짓일 때 실행합니다
alert('저녁 먹을 시간입니다.')
if else if 조건문
중첩 조건문에서 중괄호를 생략한 형태가 if else if
조건문 입니다.
겹치지 않는 3가지 이상의 조건으로 나눌 때 사용합니다.
if (불 표현식) {
문장
} else if (불 표현식) {
문장
} else if (불 표현식) {
문장
} else {
문장
}
switch 조건문
switch
조건문의 기본형태 입니다. default
키워드는 생략할 수 있습니다.
switch (자료) {
case 조건A :
break
case 조건B :
break
default :
break
}
// 변수 선언
const input = Number(prompt('숫자를 입력하세요.', '숫자'))
// 조건문
switch (input % 2 ) { // 나머지 연산자를 사용하여 홀수와 짝수를 구분합니다.
case 0 :
alert('짝수입니다.')
break
case 1 :
alert('홀수입니다.')
break
default :
alert('숫자가 아닙니다.')
break
}
break
키워드는 switch
ㅈ조건문이나 반복문을 빠져나가기 위해 사용하는 키워드입니다.
코드를 읽다가 break
키워드를 만나면 break
키워드를 감싼 switch
조건문이나 반복문을
완전히 빠져나갑니다.
switch
조건문의 괄호 안에는 비교할 값을 입력합니다. 이때 입력한 값을 기준으로 특정 코드를 실행합니다. 만약 입력한 표현식과 case
키워드 옆의 표현식이 같다면 case
키워드 바로 다음에 오는 문장을 실행합니다. 중괄호는 사용하지 않아도 됩니다.
switch 조건문을 if 조건문으로 변환하기
const date = new Date() // 현재 날짜와 시간을 갖는 객체 생성
const hour = date.getHours() // 현재시간을 0~23사이의 값으로 출력하는 메소드
// 조건문
switch (true) {
case hour < 11 :
alert('아침 먹을 시간입니다.')
break
case hour < 15 :
alert('점심 먹을 시간입니다.')
break
default :
alert('저녁 먹을 시간입니다.')
break
조건부 연산자
불 표현식 ? 참일 때의 결과 : 거짓일 때의 결과
항을 3개 갖는 연산자는 조건부 연산자가 유일해서 삼항 연산자로 부리기도 합니다.
const input = prompt('숫자를 입력해주세요.',"")
const number = Number(input)
const result = (number >= 0) ? '0 이상의 숫자 입니다.' : '0 보다 작은 숫자입니다.'
alert(result)
논리합 연산자를 사용한 짧은 조건문
다음 논리합 연산자를 사용한 표현식은 어떠한 값이 들어가도 항상 참입니다.
ture || ㅇㅇㅇ
> true || console.log('실행될까요?') // 1번
ture
> false || console.log('실행될까요?') // 2번
실행될까요
undefined
1번은 좌변이 참이므로 우변을 무시합니다. 반면 2번은 좌변은 거짓이므로 우변이 참인지 거짓인지 검사합니다. 우변이 실행되어 '실행될까요?' 라는 문자열을 출력합니다.
false && ㅇㅇㅇ
결과가 거짓인 불 표현식 && 불 표현식이 참일 때 실행할 문장