JS Ternary operator confusion
-
30-10-2019 - |
Question
I'm learning about ternary operators now. I got the basics down, but then I saw this snippet and it doesn't make any sense to me. Can anyone please explain how is it put together?!
b.m & 4 || (c |= 2, 63 <= a && 77 >= a ? a = 65 : 48 <= a && 57 >= a ? a = 48 : c & 1 ? 97 <= a && 122 >= a ? a = 65 : 197 == a || 229 == a ? c &= 5 : 192 <= a && 687 >= a ? a = 192 : 1536 <= a ? a = 1536 : 912 <= a ? a = 912 : 160 <= a ? a = 160 : 127 <= a ? c &= 5 : 33 <= a ? a = 59 : c &= 5 : 48 > a ? c &= 5 : 65 > a ? a = 59 : 96 > a ? c &= 5 : 112 > a ? a = 96 : 187 > a ? c &= 5 : a = 59);
b.m & 4 || are bit operations as far as I understood, then (c |= 2, another bit operation, but what does comma mean?!
Then there's 63 <= a && 77 >= a ? a = 65 : 48
which translates to
if(a >= 63 && a <= 77){ a = 65 } else { a = 48; }
and then after that comes <= a && 57 >= a ? a = 48 : c & 1 ? 97 <= a which doesn't make any sense to me at all. because 48 was for the previous statement. Can anyone
No correct solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow