This page was translated from English by the community.Learn more and join the MDN Web Docs community.
RangeError
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015년 7월.
* Some parts of this feature may have varying levels of support.
RangeError 객체는 어떤 값이 집합에 없거나 허용되는 범위가 아닐 때 오류를 나타냅니다.
In this article
설명
어떤 값을 그 값이 포함되는 범위를 허용하지 않는 함수에 인수로 전달하려 할 때RangeError가 발생합니다.
이 문제는 다음과 같은 경우에 발생할 수 있습니다.
- 허용되는 문자열이 아닌 값을
String.prototype.normalize()에 전달하거나, Array생성자를 통해 잘못된 길이의 배열을 만드려고 시도하거나,- 숫자 메서드
Number.prototype.toExponential(),Number.prototype.toFixed()혹은Number.prototype.toPrecision()에 나쁜 값을 전달하는 경우.
RangeError는직렬화 가능한 객체이기 때문에,structuredClone()로 복제하거나postMessage()를 사용하여Worker 간에 복사할 수 있습니다.
RangeError는Error의 하위 클래스입니다.
생성자
RangeError()새로운
RangeError객체를 만듭니다.
인스턴스 속성
인스턴스 속성은 부모인Error로부터 상속받습니다.
아래 속성은RangeError.prototype에 정의되어 있으며 모든RangeError 인스턴스 객체와 공유합니다.
RangeError.prototype.constructor인스턴스 객체를 생성하는 생성자 함수입니다.
RangeError인스턴스에서 초기 값은RangeError생성자입니다.RangeError.prototype.name오류의 유형에 대한 이름을 나타냅니다.
RangeError.prototype.name의 초기 값은"RangeError"입니다.
인스턴스 메서드
인스턴스 메서드는 부모인Error로부터 상속받습니다.
예제
>RangeError 사용하기(숫자 값일 경우)
function check(n) { if (!(n >= -500 && n <= 500)) { throw new RangeError("The argument must be between -500 and 500."); }}try { check(2000);} catch (error) { if (error instanceof RangeError) { // 오류 처리 }}RangeError 사용하기 (숫자값이 아닐 경우)
function check(value) { if (!["apple", "banana", "carrot"].includes(value)) { throw new RangeError( 'The argument must be an "apple", "banana", or "carrot".', ); }}try { check("cabbage");} catch (error) { if (error instanceof RangeError) { // 오류 처리 }}명세
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-native-error-types-used-in-this-standard-rangeerror> |