advice against side effect in default parameter

This commit is contained in:
NoNameSheep
2015-04-04 13:54:49 +08:00
committed by Josh Perez
parent bc5b0ee007
commit e826067498

View File

@@ -550,6 +550,23 @@
// ...
}
```
- Don't put side effect into default parameter
> it introduces confusion and subtlety. Arguments in function call are evaluated at call site, but default parameters are not evaluated at define site.
```javascript
var b = 1
// bad
function count(a = b++) {
console.log(a)
}
count() // 1
count() // 2
count(3) // 3
count() // 3
```
**[⬆ back to top](#table-of-contents)**