const sozinha não protege seus dados da mutação. Para garantir que seus dados não sejam alterados, o JavaScript fornece uma função Object.freeze para impedir a mutação de dados. Quando o objeto estiver congelado, você não poderá mais adicionar, atualizar ou excluir propriedades dele. Qualquer tentativa de alterar o objeto será rejeitada sem erro. deixe obj = {
nome: "FreeCodeCamp",
revisão: "Awesome"
};
Object.freeze (obj);
obj.review = "mau"; // será ignorado. Mutação não permitida
obj.newProp = "Teste"; // será ignorado. Mutação não permitida
console.log (obj);
// {name: "FreeCodeCamp", resenha: "Awesome"}
Object.freeze para impedir que constantes matemáticas sejam alteradas. Você precisa congelar o objeto MATH_CONSTANTS para que ninguém seja capaz de alterar o valor de PI , adicionar ou excluir propriedades. const .
testString: 'getUserInput => assert(getUserInput("index").match(/const/g), "Do not replace const keyword.");'
- text: MATH_CONSTANTS deve ser uma variável 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: Não altere MATH_CONSTANTS original.
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 é igual a 3.14 .
testString: 'assert(PI === 3.14, "PI equals 3.14.");'
```