자바스크립트 Boolean 객체: True, False를 다루는 방법
Boolean 객체란?
Boolean 객체는 논리적인 값을 다룰 때 사용하는 객체입니다. 이 객체는 True(참) 또는 False(거짓) 값을 반환합니다.
let myBoolean = new Boolean(false);
console.log(myBoolean); // 출력 값: false
위 코드에서는 Boolean 객체를 사용하여 false 값을 저장하고 있습니다.
Boolean 객체의 주요 속성
Boolean 객체는 크게 두 가지 속성을 가지고 있습니다. 첫 번째는 prototype 속성이며, Boolean 객체의 메소드를 정의합니다. 두 번째는 constructor 속성으로, Boolean 객체를 만들 때 사용한 생성자 함수를 가리킵니다.
Boolean 객체의 메소드
Boolean 객체는 다양한 메소드를 제공합니다. 그 중에서도 가장 많이 사용되는 메소드는 valueOf() 메소드입니다. 이 메소드는 Boolean 객체의 값(true 또는 false)을 반환합니다.
let myBoolean = new Boolean(true);
console.log(myBoolean.valueOf()); // 출력 값: true
위 코드에서는 Boolean 객체를 사용하여 true 값을 저장하고 있고, valueOf() 메소드를 호출하여 true 값을 반환합니다.
Boolean 객체와 == 연산자
Boolean 객체와 == 연산자를 함께 사용하면 다음과 같은 문제가 발생할 수 있습니다.
let myBoolean = new Boolean(false);
if (myBoolean == false) {
console.log("myBoolean은 false입니다.");
} else {
console.log("myBoolean은 true입니다.");
}
위 코드를 실행하면 “myBoolean은 true입니다.”라는 결과가 나옵니다. 이유는 == 연산자가 Boolean 객체를 일반적인 boolean 값으로 강제 변환하기 때문입니다.
Boolean 객체와 === 연산자
Boolean 객체와 === 연산자를 함께 사용하면 위와 같은 문제를 해결할 수 있습니다. === 연산자는 Type과 값이 모두 같아야 true를 반환하기 때문입니다.
let myBoolean = new Boolean(false);
if (myBoolean === false) {
console.log("myBoolean은 false입니다.");
} else {
console.log("myBoolean은 true입니다.");
}
위 코드를 실행하면 “myBoolean은 false입니다.”라는 결과가 나옵니다.
결론
Boolean 객체는 논리적인 값을 다룰 때 유용한 객체입니다. 하지만 == 연산자와 함께 사용하면 원하지 않는 결과를 초래할 수 있습니다. 따라서 === 연산자를 사용하여 비교하는 것이 좋습니다.
자바스크립트 Boolean 객체