Boolean 객체는 true와 false, 두 가지 값을 표현하는 래퍼(wrapper) 객체입니다. 생성 시 전달하는 value 매개변수가 생략되거나, 0, -0, null, false, NaN, undefined, 빈 문자열("") 중 하나에 해당한다면 객체의 초기값은 false로 설정됩니다. 그 외의 값을 전달하면 초기값은 true가 됩니다.
new Boolean() 기본 문법
new Boolean()은 새로운 Boolean 객체를 생성할 때 사용합니다. 다음과 같은 구문으로 Boolean 객체를 만들 수 있습니다.
var val = new Boolean(value);
예제: toString() 메서드 활용하기
아래 예제는 Boolean 객체의 값을 문자열로 변환해 주는 toString() 메서드의 사용 예입니다. 이 메서드는 객체가 담고 있는 값에 따라 "true" 또는 "false" 문자열을 반환합니다.
<html> <head> <title>JavaScript toString() Method</title> </head> <body> <script> var flag = new Boolean(false); document.write( "flag.toString = " + flag.toString() ); </script> </body> </html>
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
flag.toString = false
주의할 점: 원시 불리언과 Boolean 객체의 차이
원시 타입(primitive)의 불리언 값과 Boolean 객체는 서로 다르게 동작한다는 점에 유의해야 합니다. 예를 들어 new Boolean(false)로 생성된 객체는 값이 false이더라도 객체 자체는 항상 참 같은 값(truthy)으로 평가되기 때문에, 조건문에서 의도하지 않은 결과를 초래할 수 있습니다.
따라서 실무에서는 원시 불리언 값을 직접 사용하는 것이 권장되며, 단순히 타입 변환이 목적이라면 new 없이 Boolean(value) 함수 형태로 호출하는 것이 안전합니다.