diff --git a/packages/core-js/modules/es.string.starts-with.js b/packages/core-js/modules/es.string.starts-with.js index 14a590482f4d..f09b809362aa 100644 --- a/packages/core-js/modules/es.string.starts-with.js +++ b/packages/core-js/modules/es.string.starts-with.js @@ -8,16 +8,18 @@ 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; - } -}); +if(Object.getOwnPropertyDescriptor(String.prototype, "startsWith").configurable) { + // `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; + } + }); +}