here is a tl;dr
I come from a C++ background. && is suppose to check if left side is true and right side is true. what does & have anything to do with th
If you want both sides to be evaluated you need to use the 'standard' & and | operators. Usually you do want the && and || operators though for efficiency