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만큼이나 유연하고 주의가 필요합니다. |