+ 4
Very basic JS question
let x = 0; if(x){ x = 100; } console.log(x); let y = 1; if(y>=1) { y = 2; } console.log(y); Can someone kindly tell me why x console logs 0 yet y console logs 2 and not 1?
4 Antworten
+ 9
y = 2 because the condition in if statement is true ( 1 >= 1 )
x does not equal 100 because the condition in if statement is false.
When x is 0, type coercion to boolean is false.
+ 3
x is 0,
It is special case in JavaScript, that 0 is evaluated as false.
+ 2
oh... bear with me as i am a newbie. so an if condition expression always has to be either true or false (or truthy or falsy). so in the first example, if(x) is evaluated as false or falsy so the block of code will not run. i was confused since i thought the value of x inside the () just got updated to 100 since x met the if condition by virtue of having its value declared.