본문 바로가기

Javascript

javascript Boolean 값

javascript에서는 모든 자료형을 상황에 따라 자동으로 형변환해준다. 알고쓰면 참 편리한 기능이라 하겠다. 당연한 얘기지만 형변환에는 규칙이 있다. 그동안 사용해왔지만 정리해본다.


Boolean 값으로의 형변환 규칙은 다음과 같다.

  • null, undefined 값은 false가 된다.
  • 숫자 0, NaN은 false가 된다.
  • 빈문자열 ''은 false가 된다.
  • 그 외의 모든값은 true가 된다.
var test1 = document.getElementById('text');

if(test1){
if(test1.value){
alert('값 있음');
}else{
alert('값 없음');
}
}else{
  alert('태그 없음');
}

위 코드처럼 Object로 사용해도 편하게 사용할 수 있고 값의 유무확인도 간단하게 할 수 있다. 하지만 비교문에서는 조금 다르다. ||나 &&는 비교를 하지만 그 결과로 객체를 반환해준다. 다음을 보자.


var x = 3;

var y = 4;

var z = x || y; // 3이 들어간다.

var q = x && y; // 4이 들어간다.


var x = 0;

var y = 4;

var z = x || y; // 4이 들어간다.

var q = x && y; // 0이 들어간다.


비교는 순차적으로 일어난다. 그래서q = x&&y의 경우에 x값이 false인 경우에는 y값을 확인하지 않는다. 그리고 결과로 x를 반환해주고 q에 넣는다. 위 예와 같은 경우에는 항상 주의가 필요하다.

'Javascript' 카테고리의 다른 글

구글 단축URL을 만들자  (0) 2014.02.28
객체 안의 프로퍼티 접근  (0) 2014.01.20
D-DAY 계산 및 파폭, 사파리 버그  (0) 2013.01.16
소셜네트워크에 글올리기  (0) 2012.12.10
스크립트로 form 관리  (0) 2012.07.20