--- /dev/null
+var toInteger = require('../internals/to-integer');
+var toLength = require('../internals/to-length');
+
+// `ToIndex` abstract operation
+// https://tc39.es/ecma262/#sec-toindex
+module.exports = function (it) {
+ if (it === undefined) return 0;
+ var number = toInteger(it);
+ var length = toLength(number);
+ if (number !== length) throw RangeError('Wrong length or index');
+ return length;
+};