diff --git a/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js b/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js index b1dac7777..9ab2cc4b1 100644 --- a/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +++ b/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js @@ -38,7 +38,10 @@ function deepFreezeAndThrowOnMutationInDev(object: Object) { return; } - for (var key in object) { + var keys = Object.keys(object); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; if (object.hasOwnProperty(key)) { object.__defineGetter__(key, identity.bind(null, object[key])); object.__defineSetter__(key, throwOnImmutableMutation.bind(null, key)); @@ -48,7 +51,8 @@ function deepFreezeAndThrowOnMutationInDev(object: Object) { Object.freeze(object); Object.seal(object); - for (var key in object) { + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; if (object.hasOwnProperty(key)) { deepFreezeAndThrowOnMutationInDev(object[key]); }