네, JavaScript에서는 문자열을 부울(Boolean) 값으로 변환하는 것이 가능합니다. 다양한 상황에 맞게 여러 가지 방법을 활용할 수 있습니다.
기본 예제
아래 코드를 실행하여 문자열과 부울 값을 비교하는 방법을 확인해 보세요.
<html>
<head>
<title>JavaScript Boolean</title>
</head>
<body>
<script>
var answer = true;
document.write(answer);
var result = (answer == 'true');
document.write("<br>"+result);
</script>
</body>
</html>문자열을 부울로 변환하는 주요 방법
1. 일치 연산자(===) 사용
가장 안전하고 권장되는 방법입니다. 문자열이 정확히 'true'인지 검사합니다.
var str = "true"; var bool = (str === "true"); // true
느슨한 동등 연산자(==)보다 엄격한 일치 연산자(===)를 사용하면 예상치 못한 타입 변환으로 인한 오류를 방지할 수 있습니다.
2. Boolean() 함수 사용
Boolean() 함수는 값을 부울 타입으로 변환합니다. 단, 빈 문자열("")은 false, 그 외의 모든 문자열은 true로 변환된다는 점에 유의해야 합니다.
Boolean("true"); // true
Boolean("false"); // true (빈 문자열이 아니므로)
Boolean(""); // false3. 이중 부정(!!) 연산자 사용
!!를 사용하면 간결하게 부울 값으로 변환할 수 있습니다.
var str = "hello"; var bool = !!str; // true
주의 사항
문자열 "false"도 빈 문자열이 아니기 때문에 Boolean("false")는 true를 반환합니다. 따라서 문자열의 실제 내용을 기준으로 판단해야 한다면 반드시 일치 연산자를 사용하는 것이 좋습니다.