Unit2-[JavaScript] 기초 [Boolean Type]
2022. 12. 15. 18:27ㆍ코드스테이츠/코드스테이츠S1: Chapter & Unit
Boolean 타입
Boolean(불리언)은 사실 관계를 구분하기 위한 타입입니다. 불리언 타입의 값은 true 혹은 false 둘 중 하나입니다.
true;
false;
falsy
불리언 타입은 아니지만, 자바스크립트에서 false로 “여겨지는” 값이 일부 있는데, 이를 falsy 값이라고 합니다. 반대로 true로 “여겨지는” 값은 truthy 값이라고 합니다. truthy 값은 매우 많아서, falsy 값을 암기하면 구분하기 쉽습니다.
// 대표적인 falsy 값
false
0
-0
0n
""
''
``
null
undefined
NaN
비교연산자(comparison operator)
불리언은 비교연산자(comparison operator)로 두 값이 같은지 다른지를 확인할 때 유용합니다.
- === , !== : 엄격한 동치 연산자 두 피연산자의 값과 타입이 같으면 true, 다르면 false 를 반환합니다. 엄격한 동치 연산자는 보이는 값이 같아도, 두 값의 타입이 다르면 false 가 됩니다.
100 == 100 // 100은 100과 같으므로 true
100 == '100' // ==연산자는 타입을 구분하지 않기 때문에 true
100 == '100' // ===연산자는 타입을 구분하기 때문에 false
100 !== 100 // !== 같지않다면 true 이므로 false
100 !== '100' // 100과 '100'은 다르므로 true
논리연산자(logical operator)
논리연산자(logical operator)로 두 값 간의 논리 관계를 확인할 수 있습니다.
|| : 논리합(OR)
- 두 값 중 하나만 true 여도 true 로 판단합니다.
true || false; // 하나가 true 이므로 true
false || true; // 하나가 true 이므로 true
true || true; // 하나 이상이 true 이므로 true
false || false; // 둘다 false 이므로 false
100 < 200 || 30 > 300; // 100이 200보다 작은것은 true 이므로 true
&& : 논리곱(AND)
- 두 값이 모두 true 면 true 로 판단합니다.
true && true; // 두 값 모두 true 이므로 true
true && false; // 하나만 true 이므로 false
800<1000 || 100=='100'; / 두 값 모두 true 이므로 true
20<10 || 100 === '100; / 두 값 모두 false 이므로 false
논리 부정 연산자(!)의 경우, 사실 관계를 반대로 표현합니다.
- ! : 부정(NOT)
- 오른쪽 피연산자와 반대의 사실을 반환합니다.
!true // 결과값이 true면 false를 반환
!(100 > 200) // 결과값이 false면 true를 반환
falsy, truthy의 반대 값을 반환합니다.
!0 // 0은 falsy, 그러므로 true를 반환
!'' // ''도 falsy, 그러므로 true를 반환
!1 // falsy를 제외한 모든건 truthy , 그러므로 false 반환
!'코드스테이츠' // falsy를 제외한 모든건 truthy , 그러므로 false 반환
// 대표적인 falsy 값
false
0
-0
0n
""
''
``
null
undefined
NaN
연산자 정리
== : 타입과 상관없이 같은 값이면 true.
=== : 같은 타입의 같은 값이면 true.
!==: 같은 타입의 다른 값이면 true.
< : 우측 값이 크면 true.
> : 좌측 값이 크면 true.
<= : 우측 값이 크거나 같으면 true.
>= : 좌측 값이 크거나 같으면 true.
|| : 두 값 중 하나라도 true면 true.
$$: 두 값 모두 ture 여야 true.
'코드스테이츠 > 코드스테이츠S1: Chapter & Unit' 카테고리의 다른 글
Unit4-[CSS] 셀렉터 (0) | 2022.12.22 |
---|---|
Unit2-[JavaScript] 기초 [함수] (0) | 2022.12.21 |
Unit2-[JavaScript] 기초 [조건문] (2) | 2022.12.17 |
Unit2-[JavaScript] 기초 [String Type] (0) | 2022.12.15 |
Unit2-[JavaScript] 기초 [Number Type] (0) | 2022.12.15 |