So, it's perfectly valid to write:
const x = 2 ** 3 // x is 8, meaning 2 raised to a power of 3 const y = x ** 2 // x is 64, squared x
The double asterisk
** operator was introduced in ECMAScript 2016 and it's also named the exponentiation operator.
x ** y it's the same as writing
It works also with negative or fractional values:
const z = 7 ** -2 // z is 0.02040816326530612, 1 / 49 const t = 4 ** 0.5 // t is 2
And we also have the exponentiation assignment:
x **= y // meaning x = x ** y
The support for the double asterisk is great, works everywhere except IE.
Learn by doing with this FREE ebook! Not sure what to build? Dive in with 50 projects with project briefs and wireframes! Choose from 8 project categories and get started right away.