Commit 9e4908af authored by Phil Hughes's avatar Phil Hughes

Merge branch 'doc-js-side-effetcs' into 'master'

Adds documentation entry: Don't user forEach, aim for code without side effects

See merge request !10811
parents 9bef6ce6 c7049ed0
...@@ -168,6 +168,23 @@ See [our current .eslintrc][eslintrc] for specific rules and patterns. ...@@ -168,6 +168,23 @@ See [our current .eslintrc][eslintrc] for specific rules and patterns.
- Avoid constructors with side-effects - Avoid constructors with side-effects
- Prefer `.map`, `.reduce` or `.filter` over `.forEach`
A forEach will cause side effects, it will be mutating the array being iterated. Prefer using `.map`,
`.reduce` or `.filter`
```javascript
const users = [ { name: 'Foo' }, { name: 'Bar' } ];
// bad
users.forEach((user, index) => {
user.id = index;
});
// good
const usersWithId = users.map((user, index) => {
return Object.assign({}, user, { id: index });
});
```
#### Parse Strings into Numbers #### Parse Strings into Numbers
- `parseInt()` is preferable over `Number()` or `+` - `parseInt()` is preferable over `Number()` or `+`
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment