if ,else if, else조건문 기본

hyo·2021년 10월 17일
0
post-thumbnail

if 조건문

자바스크립트에서 가장 일반적인 조건문은 if 조건문 이다.
불 표현식의 값이 true면 중괄호 안의 문장을 실행하고 false이면
문장을 무시한다.

-if 조건문의 기본틀-

if(불 값이 나오는 표현식){
불 값이 참일때 실행할 문장
}
false일때 나올 문장(생략하면 위의 불 표현식의 값이 false일때 아무것도 나오지않음)

위의 코드로 실행하였을때 불 표현식의 값이 true였다면 alert(true)가 나왔을텐데 10 < 5 는 false이기때문에 아래
alert(false)로 경고대화상자는 false가 출력된다.

현재시간이 오전,오후 몇시인지 나타내보는 조건문을 만들어보자.
우선 Date()를 알고만 있자.
현재시각을 나타낼때,
1. const date = new Date()
const hours = date.getHours
2. const hours = (new Date()).getHours
이렇게 두가지 방법으로도 쓸수 있다. 같은 의미이다.

//또 알아두기//
getMonth()는 '월'이 0~11 으로 나오기때문에 +1을 해줘서 값을 출력시켜준다. ex) 1월 -> 0월로 나옴

이 내용을 활용하여 현재시간이 오전,오후인지 나타내는 조건문을 만든다.


현재시각은 오후 18시이다. 그러므로 첫번째 불 표현식의값이 true이므로 첫번째 중괄호안에있는 문장이 출력된다.
오전 6시였다면 그아래 조건에 true이므로 아래 조건문의 중괄호안의 문장이 출력되었을것이다.

else

위에서는 if조건문을 두번 써주고 불 표현식을 두번 비교하였다. 위와 같은 불 표현식에서는 첫번째와 두번째 불 표현식은 상반대는 표현식이다.
이때, else를 쓰면 불 표현식을 한번만 비교를하여 코드의 성능을 높일수있다.
조건문에서는 불필요한 불 표현식을 최대한 줄이는게 좋다.
else는첫번째 불 표현식만 비교를 하고 그외의것은 이라는 의미인데, 코드실행시 조건이 수만가지가 있을시 조건을 하나하나 다 따져보는게 아닌 하나의 조건에 맞지않을시 그외의 나머지 전부 라는 의미이다.
else를 넣어 다시 써보면 아래와 같이 쓸수있다.

else if

else ifelse if이전의 if조건문의 불 표현식 외의 불 표현식 이라는 의미이다. 정확히는 else{if(불 표현식)} 이런 구조인데,
우리는 else if(불 표현식){불표현식이 true일때 출력되는 문장}라고 쓴다.
만약 현재시간이 오전 10시 이전 이면 아침을 먹고,10시~14시 사이이면 점심을먹고,그 이후엔 저녁을 먹는다! 라는 조건문을 만들때에는 어떻게 만들까?
물론 if를 여러번 써서 만들수있다. 하지만 그렇게 되면 코드의 길이도 길어질뿐더러 성능에 효율성이 떨어진다.

우선 if문을 여러번 써서 만들어본다.

이번엔 if, else if, else 를 넣어서 코드를 써보자.

이렇게 쓰면 코드의 성능도 배로 좋아지고 쓰기에 간결해진다.

비슷한 코드를 만들어본다.
prompt()를 써서 첫번째 입력 숫자와 두번째 입력 숫자를 비교하고 alert()로 출력을 해본다.

이렇게 쓰면, 첫 번째 입력상자에 2, 두번째 입력 상자에 3을 써준다면 if, else if의 불 표현식에 맞지않는 그외의 것 이기 때문에
else로 넘어가서 중괄호안의 alert('두 번째 숫자가 더크다')가 출력된다.

조건 중첩

if조건문안에 if조건문을 넣을 수도 있다.
// 현재 시각이 오전 10시 ~ 오후 5시 사이라면 '운동해라',그외의 시간엔 '쉬어라'라고 출력을 해본다.

if문 중첩을 하였는데, && 연산자를 사용하여 if(hours > 10 && hours < 17)로 불 표현식을 하나로 만들수있다.

profile
개발 재밌다

0개의 댓글