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"}
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. 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.");'
```