| 상황 분류 | 구체적인 예시 | 평가 결과 | 실행 여부 | 비고 |
| 빈 값 (Empty) | if ("") | Falsy | 미실행 | 빈 문자열은 데이터가 없는 것으로 간주 |
| if (null) | Falsy | 미실행 | 의도적으로 비어있는 상태 | |
| if (undefined) | Falsy | 미실행 | 값이 할당되지 않은 상태 | |
| 숫자 0 | if (0) | Falsy | 미실행 | 숫자 0은 JavaScript에서 거짓으로 평가 |
| if (1) | Truthy | 실행 | 0이 아닌 모든 숫자는 참 | |
| 문자열 | if (" ") | Truthy | 실행 | 공백이 포함되면 빈 문자열이 아님 |
| if ("false") | Truthy | 실행 | 내용이 있는 문자열은 무조건 참 | |
| 객체 및 배열 | if ([]) | Truthy | 실행 | 주의! 빈 배열도 객체이므로 항상 참 |
| if ({}) | Truthy | 실행 | 주의! 빈 객체도 항상 참 | |
| 특수 케이스 | if (NaN) | Falsy | 미실행 | 계산 불가능한 숫자는 거짓 |
/**
* 값이 비어있는지(공백 포함) 확인하는 함수
*/
const isEmpty = (str) => {
return !str || str.trim().length === 0;
};
const value = " ";
if (!isEmpty(value)) {
console.log("의미 있는 텍스트가 있을 때만 실행");
} else {
console.log("빈 값 또는 공백으로 판단됨"); // 현재 사례에서는 이쪽이 실행됨
}728x90
반응형