[eslint config] [base] [breaking] Add no-plusplus in style.js and added explanation in README.

This commit is contained in:
scott stern
2016-08-14 15:35:05 -07:00
parent bc3b15d4d7
commit 55d044c7c1
2 changed files with 31 additions and 1 deletions

View File

@@ -1278,6 +1278,35 @@ Other Style Guides
}
```
- [13.5](#variables--unary-increment-decrement) Avoid using unary increments and decrements (++, --). eslint [`no-plusplus`](http://eslint.org/docs/rules/no-plusplus)
> Why? Per the eslint documentation, unary increment and decrement statements are subject to automatic semicolon insertion and can cause silent errors with incrementing or decrementing values within an application. It is also more expressive to mutate your values with statements like `num += 1` instead of `num ++`. Disallowing unary increment and decrement statements also prevents you from pre-incrementing/pre-decrementing values unintentionally which can also cause unexpected behavior in your programs.
```javascript
// bad
let array = [1, 2, 3];
let num = 1;
let increment = num ++;
let decrement = -- num;
for(let i = 0; i < array.length; i++){
let value = array[i];
++value;
}
// good
let array = [1, 2, 3];
let num = 1;
let increment = num += 1;
let decrement = num -= 1;
array.forEach((value) => {
value += 1;
});
```
**[⬆ back to top](#table-of-contents)**

View File

@@ -180,7 +180,8 @@ module.exports = {
'no-new-object': 'error',
// disallow use of unary operators, ++ and --
'no-plusplus': 'off',
// http://eslint.org/docs/rules/no-plusplus
'no-plusplus': 2,
// disallow certain syntax forms
// http://eslint.org/docs/rules/no-restricted-syntax