I was playing around with comparing version codes in JS and found that these types of comparisons work consistently and I have no idea why:
"3.4.06" < "3.4.02" (false)
"3.3.01" < "3.4.02" (true)
"3.3.01" > "3.4.02" (false)
"3.5.2" < "3.4.1" (false)
"3.5.2" > "3.4.0015" (true)
These are obviously not valid numbers in javascript, but somehow the JS engine is comparing the string values in a way that makes things work. Can anybody give some insight into how the JS engine is doing this? I'm running on V8.