I'm running into an issue when I'm trying to check if all of the properties in an object are populated and assigning the result to a boolean. This is the code:
this.isAddressValid = address.street && address.city && address.state && address.zip && address.country;
When I leave it like this, I get an error that states: Type 'string' is not assignable to type 'boolean'
But it seems to work if I add a simple conditional to the end:
this.isAddressValid = address.street && address.city && address.state && address.zip && address.country ? true : false;
I'm wondering why this is happening. Shouldn't the statement become a boolean by using the &&
operator? Why do I need to add the conditional for this to work?