반응형
자바스크립트에서 falsy와 truthy 값은 다음과 같다.
Falsy 값
자바스크립트에서 falsy 값은 다음과 같은 6가지가 있다:
- false
- 0 (숫자 0)
- -0 (음수 0)
- 0n (BigInt의 0)
- "" (빈 문자열)
- null
- undefined
- NaN (Not-a-Number)
이 값들은 조건문에서 false로 평가된다.
Truthy 값
Falsy 값에 해당하지 않는 모든 값은 truthy 값이다. 몇 가지 예시는 다음과 같다:
- true
- {} (빈 객체)
- [] (빈 배열)
- "hello" (빈 문자열이 아닌 문자열)
- 42 (0이 아닌 숫자)
- -42 (음수이지만 0이 아닌 숫자)
- 3.14 (부동 소수점 숫자)
- new Date() (Date 객체)
- Infinity (무한대)
- -Infinity (음의 무한대)
이 값들은 조건문에서 true로 평가된다.
True와 False의 차이
True와 False는 불리언 타입의 리터럴 값이다. true는 참을 나타내고, false는 거짓을 나타낸다. 반면에, truthy와 falsy는 자바스크립트의 조건문에서 Boolean 값으로 암시적 변환될 때 true 또는 false로 평가되는 값을 나타낸다.
예를 들어:
if (true) {
console.log("참이다"); // 이 코드는 실행된다.
}
if (false) {
console.log("거짓이다"); // 이 코드는 실행되지 않는다.
}
if ("hello") {
console.log("참이다"); // 이 코드는 실행된다.
}
if (0) {
console.log("거짓이다"); // 이 코드는 실행되지 않는다.
}
위의 코드에서 "hello"는 truthy 값으로 평가되므로 "참이다"가 출력된다. 반면에 0은 falsy 값으로 평가되므로 "거짓이다"가 출력되지 않는다.
따라서, true와 false는 명확한 불리언 값이지만, truthy와 falsy 값은 조건문에서 평가될 때 각각 true 또는 false로 간주되는 값들이다. 이는 자바스크립트의 동적 타입 특성으로 인해 발생하는 개념이다.
반응형
'FrontEnd > Javascript' 카테고리의 다른 글
JS 자주쓰는 regex, function(replace) 2022.09.02 (0) | 2022.07.13 |
---|---|
웹 프론트엔드 간단한 성능 검사(Chrome Task Manager) (0) | 2022.06.21 |
윈도우 nvm 설치 후 npm 버전 확인시 오류 해결하기 (0) | 2022.06.07 |
윈도우에서 nvm을 통한 node 설치 에러 (0) | 2022.06.07 |
[javascript] Compare Date 특정시간과 현재 시간 비교 (0) | 2021.09.15 |