IT_Programming/JavaScript

자바스크립트 완벽가이드 - 3.11 Error 객체, 3.12 타입 변환 요약

JJun ™ 2010. 7. 4. 18:13


1. Error 객체

 

ECMAScript v3은 에러를 표현하는 몇 가지 클래스들을 정의하고 있다.

 

자바스크립트 인터프리터는 런타임 에러가 발생하면 이러한 클래스들 중 하나에 해당하는 객체를 '던진다(throw)' (에러를 던지고 잡는 것에 대해 알고 싶다면 6장의 throw 와 try 문을 살펴보라).

 

각 에러 객체에는 자바스크립트 구현 나름의 에러 메시지를 담고 있는 message 프로퍼티가 있다.

미리 정의된 에러 객체의 종류에는 Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError 및 URIError가 있다. 이 클래스들에 대한 더 자세한 설명은 3부에서 찾을 수 있다.

 

 

2. 타입 변환 요약

 

지금까지 각 데이터 타입을 설명하였고 각 데이터 타입이 다른 데이터 타입으로 어떻게 변환되는지

논의하였다. 기본 규칙은 한 타입의 값이 다른 타입 값을 요구 하는 곳에서 사용될 경우 자바스크립트는

필요에 따라 알아서 그 값을 변환하려고 시도한다는 것이다. 따라서 숫자가 불리언 문맥에서 사용되면

그 숫자는 불리언 값으로 변환된다. 만약 객체가 문자열 문맥에서 사용되면 문자열로 변환된다.

문자열이 숫자 문맥에서 사용되면 자바스크립트는 그것을 숫자로 변환하려고 시도한다.

 

표 3-3은 이러한 타입 변환 규칙을 정리한것이다.

표를 보면 특정한 타입의 값이 특정 문맥에서 사용될 경우 어떤 변환이 수행되는지 알 수 있다.

 

 

표 3-3 자동 데이터 타입 변환

 값이 사용되는 문맥
문자열 숫자 불리언 객체
undefined "undefined" NaN false Error
null "null" 0 false Error
빈 문자열이 아닌 문자열 그 자체 문자열이 나타내는
숫자 값 혹은 NaN
true String 객체
빈 문자열 그 자체 0 false String 객체
0 "0" 그 자체 false Number 객체
NaN "NaN" 그 자체 false Number 객체
무한대 "Infinity" 그 자체 true Number 객체
음의 무한대 "-Infinity" 그 자체 true Number 객체
기타 숫자 숫자를 문자열로
표현한것
그 자체 true Number 객체
true "true" 1 그 자체 Boolean 객체
false "false" 0 그 자체 Boolean 객체
Ojbject toString() valueOf(),
toString() 혹은 NaN
true 그 자체