Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JavaScript triple greater than

Tags:

javascript

I saw this syntax on another StackOverflow post and was curious as to what it does:

var len = this.length >>> 0;

What does >>> imply?

like image 657
Jey Balachandran Avatar asked Oct 10 '11 21:10

Jey Balachandran


1 Answers

Ignoring its intended meaning, this is most likely where you'll see it used:


>>> 0 is unique in that it is the only operator that will convert any type to a positive integer:

"string"         >>> 0 == 0 (function() { }) >>> 0 == 0 [1, 2, 3]        >>> 0 == 0 Math.PI          >>> 0 == 3 

In your example, var len = this.length >>> 0, this is a way of getting an integer length to use to iterate over this, whatever type this.length may be.


Similarly, ~~x can be used to convert any variable into a signed integer.

like image 97
Eric Avatar answered Oct 11 '22 12:10

Eric