자바스크립트의 Truthy와 Falsy 완벽 정리!
안녕하세요, 자바스크립트 공부 중인 여러분! 오늘은 자바스크립트에서 조건문이나 논리 연산에서 자주 등장하는 Truthy와 Falsy 개념을 쉽고 재미있게 알아보려고 합니다. “이게 참인가 거짓인가?“라는 질문에 대한 자바스크립트만의 독특한 사고방식을 이해하는 시간이 될 거예요. 😄
Truthy와 Falsy란 무엇인가요?
간단히 말해, Truthy는 자바스크립트에서 true처럼 동작하는 값이고, Falsy는 false처럼 동작하는 값입니다. 특히 조건문에서 값이 Truthy인지 Falsy인지에 따라 실행 흐름이 달라지기 때문에, 이를 제대로 이해하는 것은 필수입니다.
자바스크립트의 Falsy 값들 🛑
Falsy 값은 조건문에서 “거짓”으로 평가되는 값들입니다. 사실, 자바스크립트의 Falsy 값은 딱 7개뿐이에요.
• false
• 0 (숫자 0)
• -0 (음수 0)
• 0n (BigInt 0)
• "" (빈 문자열)
• null
• undefined
• NaN
이 값들은 조건문에서 자동으로 false처럼 동작합니다.
예제 코드:
if (!0) {
console.log("Falsy: 숫자 0은 false로 평가됩니다!");
}
if (!"") {
console.log("Falsy: 빈 문자열도 false입니다!");
}
자바스크립트의 Truthy 값들 ✅
Falsy가 아닌 나머지는 전부 Truthy 값입니다. 숫자든, 문자열이든, 배열이든, 심지어 비어 있는 배열([])이나 객체({})도 모두 Truthy로 평가됩니다.
• "hello" (문자열)
• 42 (0 이외의 숫자)
• Infinity, -Infinity
• [] (빈 배열)
• {} (빈 객체)
• function () {} (함수)
• true
예제 코드:
if ("Hello, world!") {
console.log("Truthy: 문자열은 true로 평가됩니다!");
}
if ([]) {
console.log("Truthy: 빈 배열도 true입니다!");
}
if ({}) {
console.log("Truthy: 빈 객체 역시 true입니다!");
}
Truthy와 Falsy, 어디에 쓰이나요? 🔧
이제 실제로 어떻게 활용할 수 있는지 알아볼까요? 자바스크립트에서 Truthy와 Falsy를 알면 더 짧고 간결한 코드를 작성할 수 있습니다.
1) 기본값 설정 (논리 연산자 ||)
Falsy 값을 대신할 기본값을 설정할 때 유용합니다.
let userName = "";
let displayName = userName || "기본 사용자";
console.log(displayName); // 출력: "기본 사용자"
2) 조건부 실행 (논리 연산자 &&)
Truthy 값만 실행하고 싶을 때 사용합니다.
let user = { name: "Alice" };
user && console.log(user.name); // 출력: "Alice"
3) 삼항 연산자
조건에 따라 다른 값을 반환합니다.
let age = 0;
let status = age ? "성인" : "미성년자";
console.log(status); // 출력: "미성년자"
Truthy와 Falsy를 사용할 때 주의할 점 ⚠️
1. 빈 배열과 객체는 Truthy
자바스크립트에서는 비어 있어도 []와 {}는 Truthy로 평가됩니다. 이를 모르면 조건문에서 의도치 않은 결과를 얻을 수 있어요.
2. 문자열 “0”과 숫자 0의 차이
숫자 0은 Falsy지만, 문자열 "0"은 Truthy입니다.
if ("0") {
console.log("Truthy: 문자열 '0'은 true입니다!");
}
if (0) {
console.log("Falsy: 숫자 0은 false입니다!");
}
정리 📝
자바스크립트에서 Truthy와 Falsy는 언뜻 단순해 보이지만, 이 개념을 제대로 이해하면 조건문이나 논리 연산자를 훨씬 더 똑똑하게 활용할 수 있습니다.
• Falsy 값: false, 0, -0, 0n, "", null, undefined, NaN
• Truthy 값: Falsy가 아닌 모든 값!
• 활용 사례: 기본값 설정(||), 조건부 실행(&&), 삼항 연산자 등.
'WEB > Javascript' 카테고리의 다른 글
ECMAScript(ECMA Script)은 JavaScript의 표준화된 스펙 (0) | 2025.01.04 |
---|---|
typeof 연산자 자바스크립트에서 타입을 확인할때 (0) | 2025.01.02 |
자바스크립트 함수를 정의하는 방법 (0) | 2024.02.07 |
자바스크립트 import, export, export default 사용방법 (0) | 2024.02.07 |
Array.from() 배열을 만드는 내장메소드 | 숫자10으로 1부터 10까지 값을 갖는 배열만들기 (0) | 2024.01.09 |