컴퓨터는 if문의 연속이라고 할 정도로 중요하다.
1. if문 형식
if(조건문){ 조건이 충족하면 할일들 } |
if(true){ console.log("조건은 참 입니다.") } |
if(false){ console.log("조건은 참 입니다.") }else { console.log("거짓 입니다.") } |
*여기서 if (false) {A} else {B} 는 "만약에 A가 거짓이라면, B로 프린트 해다오." 라는 뜻이 된다.
예제1)
let age = 21 | 21살 학생이 있습니다. |
if (age >20){ console.log("운전이 가능합니다.") } else { console.log("운전이 불가능 합니다.") } ➞ Console창 "운전이 가능합니다." 프린트 |
만약에 나이가 20살이 넘으면 "운전이 가능합니다." 아니라면 "운전이 불가능 합니다." 결과창 ➞ 학생 나이가 21살 이므로 "운전이 가능합니다." |
예제2)
let age = 18 | 18살 학생이 있습니다. |
if (age >20){ console.log("운전이 가능 합니다.") } else if (age >= 18) { console.log("오토바이 운전이 가능합니다.") } else console.log("운전이 불가능 합니다.") } *이렇게 조건 하나를 더 붙일 수 있다. *모든 조건을 충족하지 않을 경우, else로 와서 프린트 한다. |
만약에 나이가 20살이 넘으면 "운전이 가능합니다." 그렇지 않으면 나이가 18살보다 크거나 같으면 "오토바이 운전이 가능합니다." 그것도 아니라면 "운전이 불가능 합니다." |
⭐︎예제3)
let age = 21 | 21살 학생이 있습니다. |
if (age >= 18) { console.log ("오토바이 운전이 가능합니다.") } else if (age >20) { console.log ("운전이 가능합니다.") } else { console.log ("운전이 불가능 합니다.") } Console창 프린트 -> 오토바이 운전이 가능합니다. |
만약에 나이가 18살 보다 크거나 같으면 "오토바이 운전이 가능합니다." 그렇지 않으면 나이가 20살이 넘으면 "운전이 가능합니다." 그것도 아니라면 "운전이 불가능 합니다." |
* if문은 첫 조건에서 참이 나오면 이어지는 모든 조건을 보지 않고 종료 해버리는 특징이 있다.
* 그리고 if문은 조건들의 순서 임으로 범위를 작은 것부터 큰 순으로 두는 것이 좋다.
* (age >= 18) ➞ 18,19,20... (범위가 더 넓기에 위 처럼 콘솔창에 첫 범위에 대한 답을 하고 종료한 것.)
* (age > 20) ➞ 21,22,23...
let age = 21 | 21살 학생이 있습니다. |
if (age >=18 && age<20) { console.log ("오토바이 운전만 가능합니다.") } else if (age>20) { console.log ("운전이 가능합니다.") } else { console.log ("운전이 불가능 합니다.") } Console창 프린트 -> 운전이 가능합니다. |
<- && 잊고 안 쓰는 사람들 정말 많다!! 꼭꼭! 기억하고 쓸 것! 만약에 나이가 18살 보다 크거나 같고 나이가 20살 보다 적다면 "오토바이 운전이 가능합니다." 그렇지 않으면 나이가 20살이 넘으면 "운전이 가능합니다." 그것도 아니라면 "운전이 불가능 합니다." |
* (age >=18 && age<20)은 18<=age<20 이랑 같은 뜻이다.
* 즉, 범위가 작아졌기에 두번째 조건으로 넘어가는 것이 고려 가능해 진다.
* 코드를 (18<=age<20)으로 쓰고 싶으나 컴퓨터는 알아보지 못하기에 (age>=18 && age<20)로 조건 두 개를 따로 띄어서 쓴다.
(&&연산 : 앞과 뒤 모두 참이어야 참이다. 둘 중 하나라도 거짓이 있다면 전체다 모두 거짓이 된다.)
* || 연산 (OROR연산자) : 둘 다 참이거나, 하나만 참이어도 참이다. 둘 다 거짓일 때만 거짓이다.)
예제4)
👑 Logic - 조건문 안에 조건문 👑 | |
let age = 35 let licence = true (let licence = false) |
35살 사람이 있습니다. 면허가 있으면 true이다. (없으면 false로 표시) |
if(age>20){ if(licence == true){ console.log("운전이 가능합니다.") } else { console.log("면허를 따고 다시 오세요.") } } else { console.log("운전이 불가능 합니다.") } |
만약에 나이가 20살이 넘고 운전면허가 있다면 ➞ YES : "운전이 가능합니다." ⇢ NO : "면허를 따고 오세요." 그렇지도 않다면 "운전이 불가능 합니다." (20살 미만 해당) |
코딩에서 = 은 오늘쪽에 있는 것을 왼쪽에 넣는다는 의미로 쓰인다.
하지만 코딩하다 보면 같다(equal)의 의미를 표현해줄 기호가 필요하여 == 로 대체하게 된다.
A == B : A는 B와 같다.
A != B : A는 B와 같지 않다.
if문과 비슷한 switch, 삼항연산식
if문 switch 삼사연산식 let menu = 1
if(menu == 1){
console.log("물건 사기")
} else if(menu == 2){
console.log("잔고 확인")
} else if(menu == 3){
console.log("히스토리 확인")
} else{
console.log("홈으로 돌아가기")
}switch (menu){
case 1 :
console.log("물건 사기")
break;
case 2 :
console.log("잔고 확인")
break;
case 3 :
console.log("히스토리 확인")
break;
defult :
console.log("홈으로 돌아가기")
}
다양한 조건 표현방식 호환성 let menu = 1
if(1<menu && menu<4){
console.log("물건 사기")
} else if(menu == 2){
console.log("잔고 확인")
} else if(menu == 3){
console.log("히스토리 확인")
} else{
console.log("홈으로 돌아가기")
}• 사용할 수 있는 범위가 조금 더 제한적
• switch문은 case가 값 하나로 딱 떨어지는
경우에만 사용 가능표현 불가
➞ 에러 난다1<ℬ<4
1보다 크고 4보다 작은 값으로 2,3을 직접 명시 해줘야 구현할 수 있음.
세부적으로 2.1, 2.2 등의 값을 만든다고 가정했을 때 범위 값을 쓰지 못하기에 일일이 case2.1 : / case2.2를 써줘야 한다.
switch (menu){
case 2 :
case 3 :
console.log("물건 사기")
break;
case 2 :
console.log("잔고 확인")
break;
case 3 :
console.log("히스토리 확인")
break;
defult :
console.log("홈으로 돌아가기")
}if(menu<=3){
console.log("범위 안의 숫자입니다.")
} else{
console.log("범위 밖의 숫자입니다.")
}자주 쓰인다
let menu = 2
let answer = menu<=3 ? true 일때 : false 일때
• 조건이 많지 않고
•반환(return)하고 싶은 값 딱 하나만
코드에 있을 때 사용 (둘 중 하나 선택 시)let menu = 2
let answer = menu<=3 ? "범위 안의 숫자입니다." : "범위 밖의 숫자입니다."
console.log(answer)
➞ Console창 프린트 : 범위 안의 숫자입니다.
반응형
'JS' 카테고리의 다른 글
[JS] javascript 자바스크립트 함수 (0) | 2023.04.09 |
---|---|
[Javascript] for loop (for문) (0) | 2023.04.07 |
[Javascript] 자료형_object 객체 데이터 자세히 보기 (0) | 2023.03.26 |
[Javascript] 자료형_array 배열 자세히 보기 (0) | 2023.03.24 |
[면접 준비] Var와 Let의 차이가 무엇인가요? (0) | 2023.03.21 |