This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Boolean

Baseline Widely available

This feature is well established and works across many devices and browser versions. Itโ€™s been available across browsers since โจ2015๋…„ 7์›”โฉ.

Boolean ๊ฐ์ฒด๋Š” ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์„ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

์„ค๋ช…

์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ์„œ ์ „๋‹ฌํ•œ ๊ฐ’์€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์ด ์—†๊ฑฐ๋‚˜ 0, -0, null, false, NaN, undefined, ๋นˆ ๋ฌธ์ž์—ด ("")์ด๋ผ๋ฉด ๊ฐ์ฒด์˜ ์ดˆ๊ธฐ๊ฐ’์€ false๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด "false"๋ฅผ ํฌํ•จํ•œ ๊ทธ ์™ธ ๋ชจ๋“  ๋‹ค๋ฅธ ๊ฐ’์€ ์ดˆ๊ธฐ๊ฐ’์„ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

Boolean ๊ฐ์ฒด์˜ true์™€ false ๊ฐ’์„ ์›์‹œ Boolean ๊ฐ’ true, false์™€ ํ˜ผ๋™ํ•ด์„  ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๊ฐ’์ด undefined, null์ด ์•„๋‹Œ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ์กฐ๊ฑด๋ฌธ์—์„œ true๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ’์ด false์ธ Boolean ๊ฐ์ฒด๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์•„๋ž˜ if ๋ฌธ์˜ ์กฐ๊ฑด์€ ์ฐธ์ž…๋‹ˆ๋‹ค.

js
var x = new Boolean(false);
if (x) {
  // ์ด ์ฝ”๋“œ๋Š” ์‹คํ–‰๋จ
}

๊ทธ๋Ÿฌ๋‚˜ ์›์‹œ Boolean ๊ฐ’์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ž˜ if ๋ฌธ์˜ ์กฐ๊ฑด์€ ๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค.

js
var x = false;
if (x) {
  // ์ด ์ฝ”๋“œ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Œ
}

๋ถˆ๋ฆฌ์–ธ์ด ์•„๋‹Œ ๊ฐ’์„ ๋ณ€ํ™˜ํ•  ๋•Œ Boolean ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์„  ์•ˆ๋ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  Boolean ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

js
var x = Boolean(expression); // ์ถ”์ฒœ
var x = new Boolean(expression); // ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ฒƒ

๊ฐ’์ด false์ธ Boolean ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•œ ์–ด๋– ํ•œ ๊ฐ์ฒด๋ฅผ Boolean ๊ฐ์ฒด์˜ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ๋„˜๊ฒจ์ฃผ๋”๋ผ๋„ ์ƒˆ๋กœ์šด Boolean ๊ฐ์ฒด๋Š” true๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

js
var myFalse = new Boolean(false); // ์ดˆ๊ธฐ๊ฐ’ ๊ฑฐ์ง“
var g = Boolean(myFalse); // ์ดˆ๊ธฐ๊ฐ’ ์ฐธ
var myString = new String("Hello"); // ๋ฌธ์ž์—ด ๊ฐ์ฒด
var s = Boolean(myString); // ์ดˆ๊ธฐ๊ฐ’ ์ฐธ

Boolean ์›์‹œ ๊ฐ’์˜ ์ž๋ฆฌ์—์„œ Boolean ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์„  ์•ˆ๋ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ์ž

Boolean()

Boolean ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ

Boolean.prototype.toString()

๊ฐ์ฒด์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ฌธ์ž์—ด "true" ๋˜๋Š” "false"๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Object.prototype.toString() ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

Boolean.prototype.valueOf()

Boolean ๊ฐ์ฒด์˜ ์›์‹œ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. Object.prototype.valueOf() ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ

false ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ Boolean ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ

js
var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean("");
var bfalse = new Boolean(false);

true ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ Boolean ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ

js
var btrue = new Boolean(true);
var btrueString = new Boolean("true");
var bfalseString = new Boolean("false");
var bSuLin = new Boolean("Su Lin");
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});

๋ช…์„ธ

Specification
ECMAScriptยฎ 2026 Language Specification
# sec-boolean-objects

๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

๊ฐ™์ด ๋ณด๊ธฐ