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