Does JavaScript have “Short-circuit” evaluation?
Yes, JavaScript has “short-circuit” evaluation. if (true == true || foo.foo){ // Passes, no errors because foo isn’t defined. } Live DEMO if (false && foo.foo){ // Passes, no errors because foo isn’t defined. } Live DEMO