--- id: 598f48a36c8c40764b4e52b3 title: Prevent Object Mutation challengeType: 1 videoUrl: '' localeTitle: Prevenir la mutación de objetos --- ## Description
Como se vio en el desafío anterior, la declaración const por sí sola no protege realmente sus datos de la mutación. Para garantizar que sus datos no cambien, JavaScript proporciona una función Object.freeze para evitar la mutación de datos. Una vez que el objeto está congelado, ya no puede agregar, actualizar o eliminar propiedades de él. Cualquier intento de cambiar el objeto será rechazado sin un error.
vamos obj = {
nombre: "FreeCodeCamp",
revisión: "impresionante"
};
Object.freeze (obj);
obj.review = "malo"; // será ignorado. Mutación no permitida
obj.newProp = "Test"; // será ignorado. Mutación no permitida
console.log (obj);
// {nombre: "FreeCodeCamp", revisión: "Impresionante"}
## Instructions
En este desafío, Object.freeze para evitar que Object.freeze las constantes matemáticas. MATH_CONSTANTS congelar el objeto MATH_CONSTANTS para que nadie pueda alterar el valor de PI , agregar o eliminar propiedades.
## Tests
```yml tests: - text: No reemplace la palabra clave const . testString: 'getUserInput => assert(getUserInput("index").match(/const/g), "Do not replace const keyword.");' - text: MATH_CONSTANTS debe ser una variable constante (usando const ). testString: 'getUserInput => assert(getUserInput("index").match(/const\s+MATH_CONSTANTS/g), "MATH_CONSTANTS should be a constant variable (by using const).");' - text: No cambie los MATH_CONSTANTS originales. testString: 'getUserInput => assert(getUserInput("index").match(/const\s+MATH_CONSTANTS\s+=\s+{\s+PI:\s+3.14\s+};/g), "Do not change original MATH_CONSTANTS.");' - text: PI es igual a 3.14 . testString: 'assert(PI === 3.14, "PI equals 3.14.");' ```
## Challenge Seed
```js function freezeObj() { "use strict"; const MATH_CONSTANTS = { PI: 3.14 }; // change code below this line // change code above this line try { MATH_CONSTANTS.PI = 99; } catch( ex ) { console.log(ex); } return MATH_CONSTANTS.PI; } const PI = freezeObj(); ```
## Solution
```js // solution required ```