+ 2
Javascript
What would be the output of this code snippet? var a=10, b=20, c=30; if(c>b>a) {console.log('1')}; else {console.log('2')};
3 ответов
+ 6
Abhay is right. the boolean evaluation works from left to right. therefore if something is true will return 1, if false will return 0, and after that, it goes to the next evaluation on the right using the returned value as comparison
what actually happens is this:
c > b > a means 30 > 20 > 10
the evaluation is from left to right meaning this
c > b => 30 > 20 => 1 => true
since c > b is 1 (true) you will continue like this:
1 > a => 1 > 10 => 0 => false
the result is false
+ 6
The output is 2 ,I have no logical reason behind it but seems like c>b evalutates to True first and is converted to 1 for True and 1>a is checked which is false