diff --git a/CHANGELOG.md b/CHANGELOG.md index 470027630a08..61685f0ca3f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## Changelog ##### Unreleased -- Nothing +- Fixed regression of some IE8- issues ##### [3.23.2 - 2022.06.21](https://github.com/zloirock/core-js/releases/tag/v3.23.2) - Avoided creation of extra properties for the handling of `%TypedArray%` constructors in new methods, [#1092 (comment)](https://github.com/zloirock/core-js/issues/1092#issuecomment-1158760512) diff --git a/packages/core-js/internals/define-built-in.js b/packages/core-js/internals/define-built-in.js index 2e94ca0d89d9..8d9301c36cfa 100644 --- a/packages/core-js/internals/define-built-in.js +++ b/packages/core-js/internals/define-built-in.js @@ -12,8 +12,10 @@ module.exports = function (O, key, value, options) { if (simple) O[key] = value; else defineGlobalProperty(key, value); } else { - if (!options.unsafe) delete O[key]; - else if (O[key]) simple = true; + try { + if (!options.unsafe) delete O[key]; + else if (O[key]) simple = true; + } catch (error) { /* empty */ } if (simple) O[key] = value; else definePropertyModule.f(O, key, { value: value, diff --git a/packages/core-js/internals/make-built-in.js b/packages/core-js/internals/make-built-in.js index 5963b2cda625..e9347fb0feab 100644 --- a/packages/core-js/internals/make-built-in.js +++ b/packages/core-js/internals/make-built-in.js @@ -24,7 +24,8 @@ var makeBuiltIn = module.exports = function (value, name, options) { if (options && options.getter) name = 'get ' + name; if (options && options.setter) name = 'set ' + name; if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { - defineProperty(value, 'name', { value: name, configurable: true }); + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; } if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { defineProperty(value, 'length', { value: options.arity });