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 | 그 자체 |
'IT_Programming > JavaScript' 카테고리의 다른 글
자바스크립트 완벽가이드 - 3.14 객체에서 기본 타입으로 변환 (0) | 2010.07.04 |
---|---|
자바스크립트 완벽가이드 - 3.13 기본 데이터 타입 래퍼 객체 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 3.10 정규 표현식 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 3.9 Date 객체 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 3.7 null, 3.8 undefined (0) | 2010.07.04 |