JavaScript: Shorthand Tricks for Numbers

Shorthand Tricks For Numbers
Last Updated on

Integer division by the power of two

// Longhand
Math.floor(x/2);

// Shorthand
x >> 1;

Double Bitwise NOT for Math.floor()

You can use double bitwise NOT operator to replace Math.floor() for positive numbers. While you need to be-careful not to use double bitwise NOT operator for negative number.

Math.floor(2.9) === 2  // Longhand
~~2.9 === 2  // Shorthand

// Don't use "Double Bitwise NOT" for negative number
Math.floor(-3.5)  // -4
~~(-3.5) // -3 (The result difference)

Further Reading: http://rocha.la/JavaScript-bitwise-operators-in-practice

Infinity Shorthand

[Infinity,-Infinity] // Longhand
[1/0,-1/0]           // Shorthand

Decimal Base Exponent

10000000 // Longhand 
1e7     // Shorthand

// All the below will return true
1e0 === 1;
1e1 === 10;
1e2 === 100;
1e3 === 1000;