const не защищает ваши данные от мутации. Чтобы ваши данные не менялись, JavaScript предоставляет функцию Object.freeze для предотвращения мутации данных. После того, как объект будет заморожен, вы больше не сможете добавлять, обновлять или удалять из него свойства. Любая попытка изменить объект будет отклонена без ошибок. пусть obj = {
Название: "FreeCodeCamp",
Обзор: «Высокий»
};
Object.freeze (OBJ);
obj.review = "bad"; // будет проигнорирован. Мутация не допускается
obj.newProp = "Test"; // будет проигнорирован. Мутация не допускается
console.log (OBJ);
// {name: "FreeCodeCamp", обзор: "Awesome"}
Object.freeze для предотвращения изменения математических констант. Вам необходимо заморозить объект MATH_CONSTANTS чтобы никто не мог изменять значение свойств PI , добавлять или удалять.
const keyword.
testString: getUserInput => assert(getUserInput('index').match(/const/g));
- text: MATH_CONSTANTS should be a constant variable (by using const).
testString: getUserInput => assert(getUserInput('index').match(/const\s+MATH_CONSTANTS/g));
- text: Do not change original MATH_CONSTANTS.
testString: getUserInput => assert(getUserInput('index').match(/const\s+MATH_CONSTANTS\s+=\s+{\s+PI:\s+3.14\s+};/g));
- text: PI equals 3.14.
testString: assert(PI === 3.14);
```