반응형
자바스크립트에서 "truthy"와 "falsy"는 조건문이나 논리 연산에서 값의 참과 거짓을 평가하는데 사용되는 개념입니다. 이 용어들은 값의 타입에 관계없이 평가되며, 일부 값들은 "truthy"로 평가되고, 일부 값들은 "falsy"로 평가됩니다. 다음은 "truthy"와 "falsy"의 예시와 평가 규칙에 대한 설명입니다:
1. "Truthy" 값:
- true: 불리언 값 true는 항상 "truthy"로 평가됩니다.
- 비어있지 않은 문자열: 비어있지 않은 모든 문자열은 "truthy"로 평가됩니다.
- 숫자: 0이 아닌 모든 숫자는 "truthy"로 평가됩니다.
- 배열과 객체: 비어있지 않은 배열이나 객체는 "truthy"로 평가됩니다.
- 함수: 정의된 함수는 항상 "truthy"로 평가됩니다.
2. "Falsy" 값:
- false: 불리언 값 false는 항상 "falsy"로 평가됩니다.
- 빈 문자열: "" (빈 문자열)은 "falsy"로 평가됩니다.
- 숫자: 0은 "falsy"로 평가됩니다.
- null과 undefined: null과 undefined는 모두 "falsy"로 평가됩니다.
- NaN: 숫자로 평가할 수 없는 NaN은 "falsy"로 평가됩니다.
논리 연산자나 조건문에서 값의 참과 거짓을 판별할 때, "truthy" 값은 조건문이나 논리 연산자에서 true로 간주되고, "falsy" 값은 false로 간주됩니다. 예를 들어, if 문에서 "truthy" 값은 조건이 참으로 평가되고, "falsy" 값은 거짓으로 평가됩니다.
if (true) {
console.log("이 코드는 실행됩니다."); // true는 "truthy" 값입니다.
}
if (0) {
console.log("이 코드는 실행되지 않습니다."); // 0은 "falsy" 값입니다.
}
if ("Hello") {
console.log("이 코드는 실행됩니다."); // 비어있지 않은 문자열은 "truthy" 값입니다.
}
if (null) {
console.log("이 코드는 실행되지 않습니다."); // null은 "falsy" 값입니다.
}
//truthy
true
{} (empty object)
[] (empty array)
42 (number, not zero)
"0", "false" (string, not empty)
// falsy
false
0, -0 (zero, minus zero)
0n (BigInt zero)
'', "", `` (empty string)
null
undefined
NaN (not a number)
"truthy"와 "falsy"는 조건문이나 논리 연산에서 값의 참과 거짓을 평가할 때 유용하게 사용됩니다. 이러한 개념을 이해하고 적절하게 활용하면 조건문과 논리 연산을 더욱 효율적으로 작성할 수 있습니다.
반응형
'Javascript > 배경 & 실무 지식' 카테고리의 다른 글
[JavaScript] 자바스크립트 면접 질문 (34) | 2024.04.12 |
---|---|
[JavaScript] Filter() (27) | 2024.02.22 |
JavaScript Animation과 CSS Animation 차이 (23) | 2024.02.16 |
[JavaScript] 프로미스(Promise) (34) | 2024.02.07 |
[JavaScript] 호이스팅(Hoisting) (37) | 2024.02.07 |