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