숫자나 문자열 데이터 타입은 유한개의 많은 값을 표현할 수 있거나(숫자의 경우) 아니면 무한개의 값을
표현할 수 있다(문자열의 경우). 반면에 불리언(boolean) 데이터 타입은 오직 두 개의 값만을 가질 수 있다.
이 두 개의 값은 true와 false 리터럴로 표현된다. 불리언 값은 진리 값을 나타낸다.
불리언 값은 무언가가 참인지 거짓인지를 말한다.
일반적으로 불리언 값은 자바스크립트 프로그램에서 비교의 결과로 생성된다.
예를 들어,
이 코드는 변수 a의 값이 숫자 4와 같은지 검사한다. 만약 같다면 이 비교 결과는 불리언 값 true가 된다.
만약 a가 4와 같지 않다면 비교결과는 false가 된다.
일반적으로 불리언 값은 자바스크립트 제어 구조 내에서 사용된다.
예를 들어, 자바스크립트에서 if/else 문은 불리언 값이 true일 경우 한 가지 동작을 수행하고 false일 경우
나머지 동작을 수행한다. 보통 여러분은 불리언 값을 반환하는 비교문과 비교문을 사용하는 문장을 결합해서 사용한다. 그 결과는 다음과 같다.
b = b + 1;
else
a = a + 1;
이 코드는 a가 4와 같은지를 검사한다. 만약 그렇다면 b에 1을 더하고 아니라면 a에 1을 더한다.
두 가지 불리언 값을 true와 false로 생각하기보다는 종종 on(true)이나 off(false), 혹은 yes(true)나 no(false)로 생각하는 것이 편리할 때가 있다.
1. 불리언 타입 변환
불리언 값은 쉽게 다른 타입으로 변환되거나 다른 타입에서 불리언 값으로 변환될 수 있으며 많은 경우
그 변환은 자동으로 수행된다.[각주:1] 만약 불리언 값이 숫자 문맥에서 사용되면 true는 숫자 1로 false는 숫자 0으로 변환된다. 만약 불리언 값이 문자열 문맥에서 사용되면 true는 문자열 "true"로 false는 문자열 "false"로
변환된다.
만약 숫자가 불리언 값을 기대하는 곳에서 사용되면 숫자가 0이나 NaN인 경우에는 false로 그 외의 경우에는 true로 변환된다. 만약 문자열이 불리언 값을 기대하는 곳에 사용되면 빈 문자열인 경우에는 false로 그 외에는 true로 변환된다. null과 undefined 값은 false로 변환되고 기타 null이 아닌 객체나 배열, 함수는 true로
변환된다.
여러분이 명시적 타입 변환을 선호한다면 Boolean() 함수를 사용할 수 있다.
다른 방법으로 불리언 NOT 연산자를 두 번 사용하는 방법이 있다.
- C 프로그래머들은 불리언 값을 흉내 내기 위해 정수 값을 사용하는 C와는 다르게, 자바스크립트에는 별개의 불리언 데이터 타입이 있다는 것을 알아야 한다. 자바 프로그래머들은 자바스크립트에 불리언 타입이 있기는 하지만, 그것이 자바의 불리언 데이터 타입만큼 순수한 데이터 타입은 아니라는 점을 유념하라. 자바스크립트 불리언 값은 쉽게 다른 데이터 타입으로 변환될 수 있으므로, 실제로 자바스크립트 불리언 값을 사용하는 방식은 자바의 방식보다 C의 방식과 더 비슷하다. [본문으로]
'IT_Programming > JavaScript' 카테고리의 다른 글
자바스크립트 완벽가이드 - 3.5 객체 (0) | 2010.07.04 |
---|---|
자바스크립트 완벽가이드 - 3.4 함수 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 3.2 문자열 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 3.1 숫자 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 대소문자, 빈공백, 세미콜론, 식별자, 예약어 (0) | 2010.07.04 |