When you have a floating-point number, say 10.1, and you utilize the zero fill left shift operator (<<) in JavaScript, it returns just the integer portion of the number, say 10 for the example.
Here's some source code showing what I mean:
var num1 = 958.51243
console.log(num1) // 958.51243
console.log(num1 << 0) // 958
Why does this happen?