From my understanding of the << bitwise left operator in JS (ES6), the void to the right is typically filled with zeros.
However, through observation in both V8 and JSC, it appears that the set bits suddenly reappear when we shift by 64 or more.
(255 << 64).toString(2)
//-> "11111111"
This contradicts my initial expectation, which was that larger shifts would continue to produce only zeros to the right.
I have not found this specific behavior defined in the EcmaScript 2016 documentation for << - could it be that this behavior is undefined for larger shifts?