'use strict'; var $ = require('../internals/export'); var toLength = require('../internals/to-length'); var notARegExp = require('../internals/not-a-regexp'); var requireObjectCoercible = require('../internals/require-object-coercible'); var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); var nativeStartsWith = ''.startsWith; var min = Math.min; // `String.prototype.startsWith` method // https://tc39.github.io/ecma262/#sec-string.prototype.startswith $({ target: 'String', proto: true, forced: !correctIsRegExpLogic('startsWith') }, { startsWith: function startsWith(searchString /* , position = 0 */) { var that = String(requireObjectCoercible(this)); notARegExp(searchString); var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); var search = String(searchString); return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search; } });