| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- textdecoration
- captionside
- ํ์ ์ ๋ ํฐ
- ๋ชจ๋์นํฐํธ
- ๊ทธ๋ฃน์ ๋ ํฐ
- ์ฃผ์
- bordercollapse
- ํฅ์ค์ฝ๋
- wordspacing
- formtag
- ๋นํ๊ทธ
- liststyleimage
- gtammertable
- borderspacing
- CDN
- ์ ๋๋ฒ์ ์ ๋ ํฐ
- ์์ด๋์ ๋ ํฐ
- ํด๋์ค์ ๋ ํฐ
- ๊ตฌ๊ธํฐํธ
- ํผํ๊ทธ
- inlineblock
- selectorslevel4
- fontweight
- borderstyle
- texttransform
- liststyletype
- ์ถ์ฝ
- ํฐํธ์จ์ดํธ
- textshadow
- liststyleposition
- Today
- Total
็ก์
Truthy and Falsy (์ฐธ ๊ฐ์ ๊ฐ & ๊ฑฐ์ง ๊ฐ์ ๊ฐ) ๋ณธ๋ฌธ
๐จ Truthy & Falsy
JavaScript์์๋ true / false๊ฐ ์๋ ๊ฐ๋ ์กฐ๊ฑด๋ฌธ ์์์ ์๋์ผ๋ก true ๋๋ false๋ก ๋ณํ๋๋๋ฐ, ์ด๊ฑธ Truthy / Falsy๋ผ๊ณ ํ๋ค.
๐ฃ Falsy (๊ฑฐ์ง์ผ๋ก ํ๊ฐ๋๋ ๊ฐ)
์กฐ๊ฑด๋ฌธ์์ false๋ก ์ทจ๊ธ๋๋ ๊ฐ๋ค๋ก, JavaScript์์๋ Boolean์ผ๋ก ํ๋ณํํ์ ๋ false๊ฐ ๋๋ ๊ฐ๋ค์ ์๋ฏธํ๋ค.
if (๊ฐ) {
console.log("truthy");
} else {
console.log("falsy");
}
- false: ์ด๋ฏธ boolean ํ์ ์ด๋ฉฐ ๊ฑฐ์ง์ ์๋ฏธ.
- 0 (์ซ์ 0): ๊ฐ์ด ์กด์ฌํ์ง ์๋ ๊ฒ์ฒ๋ผ ์ทจ๊ธ๋จ.
- -0 (์์ 0): 0๊ณผ ์์ ํ ๋์ผํ๊ฒ ์ฒ๋ฆฌ๋๋ฉฐ ์กฐ๊ฑด ๊ฒฐ๊ณผ๋ ๊ฐ๋ค. (๋ด๋ถ ํํ๋ง ๋ค๋ฆ)
- 0n (BigInt 0): BigInt ํ์ ์์๋ 0์ falsy.
- "" (๋น ๋ฌธ์์ด): ๋ฌธ์์ด์ ์๋ฌด ๊ฐ๋ ์์ ๋์ ์ํ .
- null: ์๋์ ์ผ๋ก ๊ฐ์ด ์์์ ์๋ฏธ.
- undefined: ๊ฐ์ด ์์ง ํ ๋น๋์ง ์์์์ ์๋ฏธ.
- NaN: ์ซ์๊ฐ ์๋์ ๋ํ๋ด๋ ๊ฐ์ด์ง๋ง, ํ์ ์ number๋ก ์ทจ๊ธ. (Not a Number)
๐ฃ Truthy (์ฐธ์ผ๋ก ํ๊ฐ๋๋ ๊ฐ)
Falsy 8๊ฐ์ ๊ฐ์ ์ ์ธํ ๋๋จธ์ง ๋ชจ๋ ๊ฐ์ Truthy๋ก ์ทจ๊ธ๋๋ค.
if ("hello") {
console.log("์คํ๋จ"); // Truthy
}
if (123) {
console.log("์คํ๋จ"); // Truthy
}
if ([]) {
console.log("๋น ๋ฐฐ์ด๋ Truthy");
}
if ({}) {
console.log("๋น ๊ฐ์ฒด๋ Truthy");
}
- "0": ๋ฌธ์์ด "0"์ ๋น์ด์์ง ์์ผ๋ฏ๋ก Truthy.
- "false": ๋ฌธ์์ด "false"๋ ๋ด์ฉ์ด ์์ผ๋ฏ๋ก Truthy.
- []: ๋น ๋ฐฐ์ด์ ๊ฐ์ฒด ํ์ ์ด๋ฏ๋ก Truthy.
- {}: ๋น ๊ฐ์ฒด ์ญ์ ๊ฐ์ฒด ํ์ ์ด๋ฏ๋ก Truthy.
- 1, -100: 0์ด ์๋ ๋ชจ๋ ์ซ์๋ Truthy.
๐ ๊ฐ์ด ์กด์ฌํ๋ฉด ๋๋ถ๋ถ Truthy๋ก ํ๊ฐ๋๋ค.
โ ๏ธ ์ฃผ์ํด์ผ ํ ์ โ ๏ธ
Falsy ๊ฐ์ ์ ํํ ๋ชจ๋ฅด๋ฉด ์๋์น ์์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์ ์๋ค.
let score = 0;
// ์ฌ์ฉ์๊ฐ 0์ ์ ๋ง์๋๋ฐ "์ ์๊ฐ ์์ต๋๋ค"๋ผ๊ณ ์ถ๋ ฅ๋๋ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ
if (!score) {
console.log("์ ์๊ฐ ๊ธฐ๋ก๋์ง ์์์ต๋๋ค.");
}
๐ ๋ฐ๋ผ์ ์ซ์ 0์ฒ๋ผ ๋น์ด์๋ ์ํ๊ฐ ์๋ '์ ํจํ ๊ฐ'์ ๋ค๋ฃฐ ๋๋ if (score === 0)๊ณผ ๊ฐ์ด ์๊ฒฉํ๊ฒ ๋น๊ตํ๋ ๊ฒ์ด ์์ ํ๋ค.
๐โ POINT ๐โ
โ๏ธ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฐธ/๊ฑฐ์ง์ ํ๋จํ๋ ์ ์ฐํ ์ธ์ด์ด๋ค. โ๏ธ
โ๏ธ0, "", null, undefined๋ ๋ํ์ ์ธ Falsy ๊ฐ์ด๋ค. โ๏ธ
โ๏ธ ๋น ๋ฐฐ์ด []์ด๋ ๊ฐ์ฒด {}๋ ์์ธ๋ก Truthy๋ผ๋ ์ ์ ๊ผญ ๊ธฐ์ตํ์. โ๏ธ
โ๏ธ ์ค์ ์์ ์ฝ๋ โ๏ธ
// 1. ๋ฌธ์์ด์ด ๋น์ด์๋์ง ํ์ธ
let userName = ""; // ๋น ๋ฌธ์์ด (Falsy)
if (userName) {
console.log("์ด๋ฆ์ด ์
๋ ฅ๋์์ต๋๋ค.");
} else {
console.log("์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์."); // ์คํ๋จ
}
// 2. ์ซ์๊ฐ 0์ธ์ง ํ์ธ
let cartCount = 0;
if (!cartCount) { // 0์ Falsy์ด๋ฏ๋ก !0์ true๊ฐ ๋จ
console.log("์ฅ๋ฐ๊ตฌ๋๊ฐ ๋น์ด ์์ต๋๋ค."); // ์คํ๋จ
}
// 3. ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋์ง ํ์ธ (null, undefined ์ฒดํฌ)
let data = null;
if (data) {
console.log("๋ฐ์ดํฐ ์์ ์ฑ๊ณต");
} else {
console.log("๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค."); // ์คํ๋จ
}
'<script>' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Array Iteration (๋ฐฐ์ด ๋ฐ๋ณต) (0) | 2026.05.28 |
|---|---|
| Loop statement (๋ฐ๋ณต๋ฌธ) (0) | 2026.05.28 |
| Conditional statement (์กฐ๊ฑด๋ฌธ) (0) | 2026.05.28 |
| Operator (์ฐ์ฐ์) (0) | 2026.05.28 |
| Data Types (๋ฐ์ดํฐ ํ์ ) (0) | 2026.05.28 |
