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
|
||||
|
||||
- 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
|
||||
- `parseInt()` is preferable over `Number()` or `+`
|
||||
|
|
Loading…
Reference in New Issue