`!foo` means that `foo` could be `0`, `false`, `undefined`, `null`, etc. So, by reading the code you don't know what that variable can actually be. if you have `foo !== true` then you know that it's intended to be a `Boolean` and have a better understanding of the code.