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:
Phil Hughes 2017-04-20 15:52:01 +00:00
commit 9e4908afa6
1 changed files with 17 additions and 0 deletions

View File

@ -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 `+`