if 문에서 조건식 자리에는 조건식의 결과는 결국 true나 false이다. 이때 조건식에 다른 데이터가 올 경우 에러 없이 자동으로 형변환이 되어 true, false로 바뀐다.
true로 변환되는 경우
변환 전 |
변환 후 |
if( 0과 0.0을 제외한 숫자 ) |
if( true ) |
if( ""과 ''을 제외한 문자) |
if( true ) |
if( 객체의 메모리 위치 주소값 ) |
if( true ) |
if( 익명함수 ) |
if( true ) |
false로 변환되는 경우
변환 전 |
변환 후 |
if( 0과 0.0을 제외한 숫자 ) |
if( false) |
if( "" 또는 '' ) |
if( false) |
if( undefined ) |
if( false) |
if( NaN ) |
if( false) |
if( null ) |
if( false) |
if( 1 ){ document.write( "멍멍이" ); } // 멍멍이 출력
if( "a" ){ document.write( "멍멍이" ); } // 멍멍이 출력
if( " " ){ document.write( "멍멍이" ); } // 멍멍이 출력
if( function(~){~} ){ document.write( "멍멍이" ); } // 멍멍이 출력
if( 0 ){ document.write( "멍멍이" ); } // 출력 없음
if( ""){ document.write( "멍멍이" ); } // 출력 없음
if( ''){ document.write( "멍멍이" ); } // 출력 없음
if( undefined ){ document.write( "멍멍이" ); } // 출력 없음
if( NaN ){ document.write( "멍멍이" ); } // 출력 없음
if( null ){ document.write( "멍멍이" ); } // 출력 없음