[Guide] ES6: Prevent object mutation; fixes and enhancements (#34649)
* [Guide] ES6: Prevent object mutation; fixes and enhancements - Remove phantom image - Remove notes for contributors - Change explanation and hints. - Links to markdown * Changed as requested Changed titles as requested by @randelldawson. Note: I'm just used to [MDN](https://developer.mozilla.org/en-US/docs/MDN/Contribute/Guidelines/Writing_style_guide#Page_titles) and other language styles and though it was clearer. Is it ok now for this guide? * fix: removed repl.it link
This commit is contained in:
committed by
Randell Dawson
parent
992c39f7a3
commit
97a74b68e8
@ -1,17 +1,15 @@
|
||||
---
|
||||
title: Prevent Object Mutation
|
||||
---
|
||||

|
||||
|
||||
 Remember to use <a>**`Read-Search-Ask`**</a> if you get stuck. Try to pair program  and write your own code 
|
||||
|
||||
### Problem Explanation:
|
||||
|
||||
We need to prevent `MATH_CONSTANTS` value from changing.
|
||||
_You need to freeze the `MATH_CONSTANTS` object so that no one is able to alter the value of `PI`, add, or delete properties ._
|
||||
|
||||
##  Hint: 1
|
||||
|
||||
* Use Object.freeze(obj) to prevent object from being changed.
|
||||
* _Use `Object.freeze()` to prevent mathematical constants from changing._
|
||||
|
||||
> _try to solve the problem now_
|
||||
|
||||
@ -19,9 +17,9 @@ We need to prevent `MATH_CONSTANTS` value from changing.
|
||||
|
||||

|
||||
|
||||
**Solution ahead!**
|
||||
**Solution Ahead!**
|
||||
|
||||
##  Basic Code Solution:
|
||||
##  Basic code solution:
|
||||
```javascript
|
||||
function freezeObj() {
|
||||
"use strict";
|
||||
@ -41,21 +39,10 @@ We need to prevent `MATH_CONSTANTS` value from changing.
|
||||
|
||||
const PI = freezeObj();
|
||||
```
|
||||
 <a href='https://codepen.io/dylantyates/pen/OwVxYB' target='_blank' rel='nofollow'>Run Code</a>
|
||||
|
||||
# Code Explanation:
|
||||
|
||||
By using Object.freeze() on `MATH_CONSTANTS` we can avoid manipulating it.
|
||||
|
||||
#### Relevant Links
|
||||
|
||||
* <a href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze' target='_blank' rel='nofollow'>Object.freeze()</a>
|
||||
|
||||
##  NOTES FOR CONTRIBUTIONS:
|
||||
|
||||
*  **DO NOT** add solutions that are similar to any existing solutions. If you think it is **_similar but better_**, then try to merge (or replace) the existing similar solution.
|
||||
* Add an explanation of your solution.
|
||||
* Categorize the solution in one of the following categories — **Basic**, **Intermediate** and **Advanced**. 
|
||||
* Please add your username only if you have added any **relevant main contents**. ( **_DO NOT_** _remove any existing usernames_)
|
||||
|
||||
> See  <a href='http://forum.freecodecamp.com/t/algorithm-article-template/14272' target='_blank' rel='nofollow'>**`Wiki Challenge Solution Template`**</a> for reference.
|
||||
### Resources
|
||||
- ["Object.freeze()" - *MDN Javascript reference*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
|
||||
|
Reference in New Issue
Block a user