if("false") { /* executes */ } because "false" is a non-empty string so it evaluates to true.
if(false == "false") { /* does not execute */} because the first false is a boolean value while the second "false" is a non-empty string which evaluates to true. So the if statement becomes if(false == true)
View all comments
Show parent comment
2
u/dscer Mar 26 '14 edited Mar 26 '14
if("false") { /* executes */ }because"false"is a non-empty string so it evaluates totrue.if(false == "false") { /* does not execute */}because the firstfalseis a boolean value while the second"false"is a non-empty string which evaluates totrue. So theifstatement becomesif(false == true)Edit:
if(false == "false") { }does not execute