자바스크립트의 Boolean 객체는 true와 false라는 두 가지 값만을 표현하는 래퍼(wrapper) 객체입니다. 객체를 생성할 때 value 매개변수가 생략되거나, 0, -0, null, false, NaN, undefined, 그리고 빈 문자열("")이 전달되면 초기값은 false로 설정됩니다.
이 외의 모든 값(true, 숫자, 문자열, 객체 등)이 전달되면 초기값은 true가 됩니다. 참고로 일반적인 조건문에서는 원시 타입(primitive) boolean 값을 사용하는 것이 권장되며, Boolean 객체는 필요한 경우에만 사용하는 것이 좋습니다.
Boolean 객체의 주요 속성
Boolean 객체에는 다음과 같은 두 가지 속성이 있습니다.
| 번호 | 속성 및 설명 |
|---|---|
| 1 | constructor 객체를 생성한 Boolean 함수에 대한 참조를 반환합니다. |
| 2 | prototype prototype 속성을 사용하면 특정 객체나 생성자에 새로운 속성과 메서드를 추가할 수 있습니다. |
사용 예제
다음 예제는 prototype 속성을 활용하여 기존 생성자 함수에 새로운 속성을 추가하고 활용하는 방법을 보여줍니다.
<html>
<head>
<title>JavaScript Boolean 객체</title>
<script>
function book(title, author) {
this.title = title;
this.author = author;
}
</script>
</head>
<body>
<script>
var myBook = new book("WordPress 개발", "Amit");
book.prototype.price = null;
myBook.price = 500;
document.write("책 제목 : " + myBook.title + "<br>");
document.write("책 저자 : " + myBook.author + "<br>");
document.write("책 가격 : " + myBook.price + "<br>");
</script>
</body>
</html>실행 결과
책 제목 : WordPress 개발 책 저자 : Amit 책 가격 : 500
위 코드에서는 book이라는 생성자 함수를 정의한 후, book.prototype.price를 통해 price 속성을 프로토타입에 추가했습니다. 이렇게 하면 이후 생성되는 모든 book 인스턴스에서 price 속성을 사용할 수 있으며, 각 인스턴스마다 개별적으로 값을 설정할 수도 있습니다.