4 ms·
It certainly doesn't hurt to "cast" the input to boolean. But your second example is the next code smell, because it should just be if (!this.state.isConnect
by Rockslide 9y ago
It certainly doesn't hurt to "cast" the input to boolean. But your second example is the next code smell, because it should just be
if (!this.state.isConnected) { /* do stuff */ }
(which still works as expected even when dealing with null or undefined).
- vmarsy 9y agoAgreed, but you can't anticipate what another dev could write :) Or if you pass down that `isConnected` down to a library where for some reason they assumed `null` should default to `true` Of course it's very unlikely, but my point is you can't know all use cases of `this.state.isConnected` in advance on a large project so as you say it doesn't hurt to sanitize the input.
- mikeycgto 9y agoThat's why there's PropTypes so you can define what type a given prop should be. An error is raised if a higher level component passes in a prop of an incorrect type.