JavaScript์์ Boolean์ ๋จ ๋ ๊ฐ์ง ๊ฐ, true
์ false
๋ก ์ด๋ฃจ์ด์ง ์๋ฃํ์
๋๋ค. ์ด ๊ฐ๋ค์ ๋
ผ๋ฆฌ์ ์ธ ์กฐ๊ฑด์ ๋ค๋ฃจ๊ฑฐ๋ ์ ์ด ํ๋ฆ์ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ JavaScript์์ Booleans๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง, ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ์ ์ฉํ ํ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
JavaScript์ Boolean ๊ฐ
Boolean ๊ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก true
๋๋ false
๋ก ํํ๋๋ฉฐ, ์ด๋ ํ๋ก๊ทธ๋จ์ ๋
ผ๋ฆฌ์ ํ๋ฆ์ ์ ์ดํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด ๊ฐ๋ค์ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ, ํจ์์ ๋ฐํ๊ฐ ๋ฑ ๋ค์ํ ๊ณณ์์ ์ฌ์ฉ๋ฉ๋๋ค.
Boolean ๊ฐ์ ๊ธฐ๋ณธ ์์
// Boolean ๊ฐ
let isTrue = true;
let isFalse = false;
console.log(isTrue); // true
console.log(isFalse); // false
์ ์์๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ Boolean ๊ฐ true
์ false
๋ฅผ ๋ณ์์ ์ ์ฅํ ํ ์ถ๋ ฅํ๋ ์์์
๋๋ค.
Boolean์ผ๋ก ํ๊ฐ๋๋ ๊ฐ
JavaScript์์๋ **Truthy**์ **Falsy**๋ผ๋ ๊ฐ๋
์ ํตํด ๊ฐ์ด Boolean์ผ๋ก ํ๊ฐ๋ ์ ์์ต๋๋ค. ์ด๋ ํน์ ๊ฐ๋ค์ด ๋ช
์์ ์ธ true
๋๋ false
๊ฐ ์๋๋๋ผ๋, ๋
ผ๋ฆฌ ์ฐ์ฐ์์ Boolean์ผ๋ก ๋ณํ๋๋ ์ํฉ์ ์ค๋ช
ํฉ๋๋ค.
Truthy ๊ฐ
๋ค์ ๊ฐ๋ค์ JavaScript์์ truthy๋ก ํ๊ฐ๋๋ฉฐ, ๋
ผ๋ฆฌ์ ํ๊ฐ์์ true
๋ก ๊ฐ์ฃผ๋ฉ๋๋ค:
- ์ซ์(0์ ์ ์ธํ ๋ชจ๋ ์ซ์)
- ๋ฌธ์์ด(๋น ๋ฌธ์์ด ์ ์ธ)
- ๊ฐ์ฒด์ ๋ฐฐ์ด
// Truthy ๊ฐ ์์
console.log(Boolean(1)); // true
console.log(Boolean("hello")); // true
console.log(Boolean([])); // true
console.log(Boolean({})); // true
Falsy ๊ฐ
๋ค์ ๊ฐ๋ค์ JavaScript์์ falsy๋ก ํ๊ฐ๋๋ฉฐ, ๋
ผ๋ฆฌ์ ํ๊ฐ์์ false
๋ก ๊ฐ์ฃผ๋ฉ๋๋ค:
false
0
(์ซ์ 0)""
(๋น ๋ฌธ์์ด)null
undefined
NaN
(์ซ์๊ฐ ์๋)
// Falsy ๊ฐ ์์
console.log(Boolean(0)); // false
console.log(Boolean("")); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean(NaN)); // false
์์์ ๋ณด๋ฏ์ด, ์ด๋ฌํ ๊ฐ๋ค์ ๋
ผ๋ฆฌ์ ํ๊ฐ์์ ๋ชจ๋ false
๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
Boolean ๊ฐ ๋ณํ
ํน์ ๊ฐ์ด ๋
ผ๋ฆฌ์ ํ๊ฐ์์ true
๋๋ false
๋ก ๋ณํ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ฝ๊ฒ ํ์ธํ๊ธฐ ์ํด, JavaScript๋ Boolean()
ํจ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ํจ์๋ ๊ฐ์ ๋ช
์์ ์ผ๋ก Boolean ๊ฐ์ผ๋ก ๋ณํํด์ค๋๋ค.
// Boolean ๋ณํ
console.log(Boolean(10)); // true
console.log(Boolean("JavaScript")); // true
console.log(Boolean(0)); // false
console.log(Boolean(null)); // false
์ ์์์์๋ Boolean()
ํจ์๋ฅผ ํตํด ๊ฐ๋ค์ด true
๋๋ false
๋ก ๋ณํ๋๋ ๊ณผ์ ์ ํ์ธํ ์ ์์ต๋๋ค.
Boolean ๊ฐ์ ์ฌ์ฉํ ์กฐ๊ฑด๋ฌธ
Boolean ๊ฐ์ ์กฐ๊ฑด๋ฌธ์์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์กฐ๊ฑด๋ฌธ์ ํน์ ์กฐ๊ฑด์ด true
์ผ ๋ ์ฝ๋๋ฅผ ์คํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค๋ฅธ ์ฝ๋๋ฅผ ์คํํ๋๋ก ์ ์ดํ๋ ์ญํ ์ ํฉ๋๋ค.
1. if
๋ฌธ ์ฌ์ฉํ๊ธฐ
// if ๋ฌธ ์ฌ์ฉ
let isLoggedIn = true;
if (isLoggedIn) {
console.log("๋ก๊ทธ์ธ๋์์ต๋๋ค.");
} else {
console.log("๋ก๊ทธ์ธ๋์ง ์์์ต๋๋ค.");
}
์ ์์๋ isLoggedIn
๋ณ์๊ฐ true
์ผ ๋์ false
์ผ ๋ ์๋ก ๋ค๋ฅธ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
2. ์ผํญ ์ฐ์ฐ์
์ผํญ ์ฐ์ฐ์(?:
)๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฐ์ ์ ํํ๋ ๊ฐ๊ฒฐํ ๋ฐฉ๋ฒ์
๋๋ค.
// ์ผํญ ์ฐ์ฐ์ ์ฌ์ฉ
let userRole = "admin";
let message = userRole === "admin" ? "๊ด๋ฆฌ์์
๋๋ค." : "์ผ๋ฐ ์ฌ์ฉ์์
๋๋ค.";
console.log(message); // ๊ด๋ฆฌ์์
๋๋ค.
์ด ์ฝ๋๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ ์์์ ๋๋ค. ์ผํญ ์ฐ์ฐ์๋ ๊ฐ๊ฒฐํ ๋ ผ๋ฆฌ ํ๊ฐ์ ์ ์ฉํฉ๋๋ค.
Boolean ์ฐ์ฐ
Boolean ๊ฐ์ ๋ค๋ฃฐ ๋, ๋
ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด ๋ณต์กํ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. JavaScript๋ ์ธ ๊ฐ์ง ์ฃผ์ ๋
ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค: AND(&&
), OR(||
), NOT(!
).
1. AND ์ฐ์ฐ์ &&
AND ์ฐ์ฐ์๋ ๋ ์กฐ๊ฑด์ด ๋ชจ๋ true
์ผ ๋๋ง true
๋ฅผ ๋ฐํํฉ๋๋ค.
// AND ์ฐ์ฐ์
let age = 25;
let hasLicense = true;
if (age >= 18 && hasLicense) {
console.log("์ด์ ํ ์ ์์ต๋๋ค.");
} else {
console.log("์ด์ ํ ์ ์์ต๋๋ค.");
}
์ด ์์์์๋ ๋์ด๊ฐ 18์ธ ์ด์์ด๊ณ , ์ด์ ๋ฉดํ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ์ด์ ์ด ๊ฐ๋ฅํ๋ค๋ ์กฐ๊ฑด์ AND ์ฐ์ฐ์๋ก ์ฒ๋ฆฌํฉ๋๋ค.
2. OR ์ฐ์ฐ์ ||
OR ์ฐ์ฐ์๋ ๋ ์กฐ๊ฑด ์ค ํ๋๋ผ๋ true
์ด๋ฉด true
๋ฅผ ๋ฐํํฉ๋๋ค.
// OR ์ฐ์ฐ์
let hasCar = false;
let hasBike = true;
if (hasCar || hasBike) {
console.log("์ด๋ ์๋จ์ด ์์ต๋๋ค.");
} else {
console.log("์ด๋ ์๋จ์ด ์์ต๋๋ค.");
}
์ด ์ฝ๋๋ ์์ ๊ฑฐ ๋๋ ์๋์ฐจ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง '์ด๋ ์๋จ์ด ์๋ค'๋ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
3. NOT ์ฐ์ฐ์ !
NOT ์ฐ์ฐ์๋ ๊ฐ์ ๋
ผ๋ฆฌ ์ํ๋ฅผ ๋ฐ์ ์ํต๋๋ค. ์ฆ, true
๋ false
๋ก, false
๋ true
๋ก ๋ฐ๋๋๋ค.
// NOT ์ฐ์ฐ์
let isRaining = false;
if (!isRaining) {
console.log("์ฐ์ฐ์ด ํ์ ์์ต๋๋ค.");
} else {
console.log("์ฐ์ฐ์ ์ฑ๊ธฐ์ธ์.");
}
์ด ์์์์๋ ๋น๊ฐ ์ค์ง ์์ ๋ '์ฐ์ฐ์ด ํ์ ์๋ค'๋ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๊ฒฐ๋ก
JavaScript์์ Boolean ๊ฐ์ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ๊ณ , ๋ค์ํ ๋ ผ๋ฆฌ ์ฐ์ฐ์ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์์ ์ธ ์ญํ ์ ํฉ๋๋ค. Truthy์ Falsy ๊ฐ์ ๊ฐ๋ ์ ์ดํดํ๊ณ , ์กฐ๊ฑด๋ฌธ ๋ฐ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ ์ ํ ์ฌ์ฉํ๋ฉด ๋ ๋ณต์กํ ์กฐ๊ฑด์ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด์ Boolean ๊ฐ์ ์์ ๋กญ๊ฒ ์ฌ์ฉํด ์ฝ๋์ ๋ ผ๋ฆฌ์ ํ๋ฆ์ ์ ์ดํด๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ