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
This commit is contained in:
commit
9e4908afa6
|
@ -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 `+`
|
||||||
|
|
Loading…
Reference in New Issue