64 lines
4.2 KiB
Markdown
64 lines
4.2 KiB
Markdown
![]() |
---
|
|||
|
title: Prevent Object Mutation
|
|||
|
localeTitle: Предотвращение мутации объектов
|
|||
|
---
|
|||
|

|
|||
|
|
|||
|
 Не забудьте использовать **`Read-Search-Ask`** если вы застряли. Попробуйте подключить программу  и напишите свой собственный код 
|
|||
|
|
|||
|
### Проблема Объяснение:
|
|||
|
|
|||
|
Нам нужно предотвратить `MATH_CONSTANTS` значения `MATH_CONSTANTS` .
|
|||
|
|
|||
|
##  Подсказка: 1
|
|||
|
|
|||
|
* Используйте Object.freeze (obj), чтобы предотвратить изменение объекта.
|
|||
|
|
|||
|
> _попытаться решить проблему сейчас_
|
|||
|
|
|||
|
## Осторожно, спойлеры!
|
|||
|
|
|||
|

|
|||
|
|
|||
|
**Решение впереди!**
|
|||
|
|
|||
|
##  Решение базового кода:
|
|||
|
|
|||
|
```javascript
|
|||
|
function freezeObj() {
|
|||
|
"use strict";
|
|||
|
const MATH_CONSTANTS = {
|
|||
|
PI: 3.14
|
|||
|
};
|
|||
|
|
|||
|
Object.freeze(MATH_CONSTANTS);
|
|||
|
|
|||
|
try {
|
|||
|
MATH_CONSTANTS.PI = 99;
|
|||
|
} catch( ex ) {
|
|||
|
console.log(ex);
|
|||
|
}
|
|||
|
return MATH_CONSTANTS.PI;
|
|||
|
}
|
|||
|
|
|||
|
const PI = freezeObj();
|
|||
|
```
|
|||
|
|
|||
|
 [Код запуска](https://codepen.io/dylantyates/pen/OwVxYB)
|
|||
|
|
|||
|
# Код Объяснение:
|
|||
|
|
|||
|
Используя Object.freeze () в `MATH_CONSTANTS` мы можем избежать манипулирования им.
|
|||
|
|
|||
|
#### Связанные ссылки
|
|||
|
|
|||
|
* [Object.freeze ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
|
|||
|
|
|||
|
##  ПРИМЕЧАНИЯ ДЛЯ ВЗНОСОВ:
|
|||
|
|
|||
|
*  **НЕ** добавляйте решения, похожие на любые существующие решения. Если вы считаете, что это **_похоже, но лучше_** , попробуйте объединить (или заменить) существующее подобное решение.
|
|||
|
* Добавьте объяснение своего решения.
|
|||
|
* Классифицируйте решение в одной из следующих категорий - **Basic** , **Intermediate** и **Advanced** . 
|
|||
|
* Пожалуйста, добавьте свое имя пользователя, только если вы добавили **соответствующее основное содержимое** . (  **_НЕ_** _удаляйте существующие имена пользователей_ )
|
|||
|
|
|||
|
> Видеть  [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) для [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) для справки.
|