조건문을 타입을 배우기 위해서는 Boolean타입에 대한 이해가 필요하다.
let isAdult = true; //또는 false
let isStudent = false; //또는 true
조건문은 어떠한 조건을 판별하는 기준을 만드는 것이 필요하다.
조건문에는 반드시 비교 연산자(comparison operator)가 필요하다.
[비교 연산자]
비교의 결과는 boolean 즉 true, false이다.
3 > 5; //false
9 < 10; //true
A > B | A가 B보다 크다 |
A >= B | A가 B보다 같거나 크다 |
A < B | A가 B보다 작다 |
A <= B | A가 B보다 작거나 크다 |
A === B | A와 B는 같다 |
A !== B | A와 B는 다르다 |
('=='이나 '!='은 타입이 아닌 값만 비교해 정확한 사용이 요구되어 편의를 위해 사용하지 않는다.)
[조건문]
if (조건1) {
//조건1이 통과할 경우
} else if (조건2) {
//조건1이 통과하지 않고
//조건2가 통과할 경우
} else {
//모든 조건이 통과하지 않을 경우
=>조건에는 boolean으로 결과가 나오는 비교구문이 들어간다.
[논리연산자]
두가지 조건이 한 번에 적용되는 경우에는 논리연산자(logical Operation)를 사용한다.
A && B | and연산자. A와 B 둘 다 참일 때만 참이다. |
A || B | or연산자. A나 B 둘 중 하나만 참이면 참이다. |
!A | not연산자. A가 참이면 거짓, 거짓이면 참이 된다. |
예를들면
학생이면서 여성일때 통과
isStudent && isFemale;
둘중 하나만 통과
isStudent || isFemale;
학생이 아닌데 여성일때 통과
! isStudent && isFemale;
논리연산자 NOT
! false //true
! (3>2) //false
! undefined //true
! 'Hello' //false
[기억해야 할 6가지 falsy 값]
다음은 if문에서 false로 변환되므로, if 구문이 실행되지 않는다.
1️⃣ if (false)
2️⃣ if (null)
3️⃣ if (undefined)
4️⃣ if (0)
5️⃣ if (NaN)
6️⃣ if (' ')
숫자의 비교
let age = 25;
console.log(19 < age) //true
let age = 17;
console.log(19 < age) //false
문자열의 비교
console.log('hello' === 'world') //false
console.log('hello' !== 'world') //true
숫자와 문자열의 비교
let str = '100'
let num = 100
console.log(str === num) //false
AND 연산자
console.log(true && true) //true
console.log(true && false) //false
console.log(false && true) //false
console.log(false && false) //false
AND 연산자(&&)를 사용했을 경우 두 조건이 모두 truthy 해야만 true, 그렇지 않으면 false가 출력된다.
OR 연산자
console.log(true || true) //true
console.log(true || false) //true
console.log(false || true) //true
console.log(false || false) //false
OR연산자(||)를 사용했을 경우 두 조건 중 하나라도 truthy한 값일 경우 true, 그렇지 않으면 false가 출력된다.
NOT 연산자
console.log(!true) //false
console.log(!false) //true
NOT연산자는 결과가 true이면 false를, false이면 true를 반환한다. 2개 이상을 중첩하는 것도 가능하다.(!!! = !)
'JavaScript' 카테고리의 다른 글
JavaScript 배열(1) (0) | 2022.07.21 |
---|---|
JavaScript 함수(2) (0) | 2022.06.29 |
JavaScript 함수(1) (0) | 2022.06.29 |
JavaScript 타입(1) (0) | 2022.06.28 |
JavaScript 변수 (0) | 2022.06.28 |