3 ms·
You don't have to rely on discipline, you can use tooling like ESLint or Flow to make sure there are no implicit conversions in the codebase.
by awestroke 8y ago
You don't have to rely on discipline, you can use tooling like ESLint or Flow to make sure there are no implicit conversions in the codebase.
- TheDong 8y agoeslint absolutely can't figure out whether '==' will implicitly convert its arguments or not. The type information simply is not there.
- awestroke 8y agoeslint can disallow == for anything but `== null`. Problem solved. https://eslint.org/docs/rules/eqeqeq https://eslint.org/docs/rules/eqeqeq
- TheDong 8y agoThis thread is about not using `===`; it's obviously true that it can be disallowed entirely, but it can't be allowed based on whether or not it will coerce, which was the context of the thread.