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 г..
* Some parts of this feature may have varying levels of support.
Объект RangeError представляет ошибку, возникающую, когда значение не входит в множество или диапазон допустимых значений.
Описание
RangeError возникает при попытке передать в качестве аргумента функции значение, которое не входит в диапазон допустимых значений.
Это может происходить в разных случаях:
- при передаче значения, которое не является одной из допустимых строк, в
String.prototype.normalize(), - при попытке создать массив недопустимой длины с помощью конструктора
Array, - при передаче недопустимых значений в такие методы, как
Number.prototype.toExponential(),Number.prototype.toFixed()илиNumber.prototype.toPrecision().
RangeError является сериализуемым объектом, поэтому он может быть клонирован с помощью structuredClone() или передан между воркерами с использованием postMessage().
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("Аргумент должен быть в диапазоне между -500 и 500."); } } try { check(2000); } catch (error) { if (error instanceof RangeError) { // Обработка ошибки } } Использование RangeError для нецифровых значений
function check(value) { if (!["яблоко", "банан", "морковь"].includes(value)) { throw new RangeError( 'Аргумент должен иметь значение "яблоко", "банан" или "морковь".', ); } } try { check("капуста"); } catch (error) { if (error instanceof RangeError) { // Обработка ошибки } } Спецификации
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-native-error-types-used-in-this-standard-rangeerror> |