2025-09-01 21:09
거짓 False
프로그래밍 에서의 거짓 (False)
- 프로그램의 흐름을 제어하는 논리값
 - 반복문 조건문 논리 연산자 등 에서 사용됨
 - 명시적인 false 뿐만 아니라 각 언어 별로 falsy 하게 평가되는 값들이 존재함
 - 자바스크립트에선 엄격하게 비교하려면 등호 3개 쓰고, 느슨하게 하려면 2개 쓴다.
 - false 는 명확한 거짓이라는 불리언 값이지만, NULL 은 값이 없음. 비어있다는 뜻이고, undefined 는 초기화되지 않았다는 것이다.
 
| 언어 (Language) | Falsy 값 (거짓으로 취급되는 값) | 특징 | 
|---|---|---|
| JavaScript | false, 0, -0, 0n (BigInt), "" (빈 문자열), null, undefined, NaN | Falsy 값의 종류가 가장 많아 유연하지만, 혼란을 유발할 수 있습니다. [] 와 {} (빈 배열/객체)는 Truthy 입니다. | 
| Python | False, None, 0, 0.0, 0j (복소수), "", [], (), {} (빈 시퀀스/컬렉션) | 숫자 0과 비어있는 모든 컨테이너(리스트, 튜플, 딕셔너리 등)가 Falsy에 해당합니다. | 
| Java | false | 오직 boolean 타입의 false 값만이 거짓입니다. 매우 엄격하여 타입 변환으로 인한 실수가 적습니다. | 
| C++ | false, 0, nullptr | 숫자 0은 정수, 실수, 포인터 타입에 관계없이 거짓으로 평가됩니다. | 
| Ruby | false, nil | 오직 false와 nil 두 가지만 Falsy 입니다. 숫자 0이나 빈 문자열 ""은 Truthy라는 점이 독특합니다. | 
| PHP | false, 0, 0.0, "", "0", [] (빈 배열), null | "0"이라는 문자열도 Falsy로 취급하는 등, JavaScript만큼이나 유연하고 주의가 필요합니다. |