You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict';
var GetIntrinsic = require('get-intrinsic');
var $RangeError = GetIntrinsic('%RangeError%');
var ToInteger = require('./ToInteger'); var ToLength = require('./ToLength'); var SameValueZero = require('./SameValueZero');
// https://262.ecma-international.org/8.0/#sec-toindex
module.exports = function ToIndex(value) { if (typeof value === 'undefined') { return 0; } var integerIndex = ToInteger(value); if (integerIndex < 0) { throw new $RangeError('index must be >= 0'); } var index = ToLength(integerIndex); if (!SameValueZero(integerIndex, index)) { throw new $RangeError('index must be >= 0 and < 2 ** 53 - 1'); } return index; };
|