Re:Overview of JavaScript ES6 features
by JoeAltmaier on Monday October 24, 2016 @11:40AM
(#12779778)
I know I should use const. I lazily leave it until the end then try to shoe-horn it in. Then it ripples through the code until I give up. Then I hate myself.
[ Parent
| on HN ]
I've started to use const for every variable, then if I get an linting error about modifying a const, I switch it to let.
It took about two weeks to train my hands/brain to type const before let/var.
I use https://www.npmjs.com/package/eslint-plugin-const-immutable for linting const usage. It even detects object props mutation!
Re:Overview of JavaScript ES6 features
by pauljaworski on Monday October 24, 2016 @11:57AM
(#12779965)
This is what makes Eslint so great. If you extend Airbnb's (or write your own very strict) config, it will really enforce best practices for things like this.
I think running eslint --fix will even change your "let"s to "const"s where appropriate, but don't quote me on that.
>I think running eslint --fix will even change your "let"s to "const"s where appropriate, but don't quote me on that.
Yep, this is the relevant rule - http://eslint.org/docs/rules/no-var
Though it just replaces all var with let. I expected it to intelligently use either const or let depending on how the variable is used ¯\_(ツ)_/¯
You're looking for: http://eslint.org/docs/rules/prefer-const
It does exactly what you describe :)