New day, a new discovery! Today I've learned there that Javascript has a double asterisk **
operator.
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.
Writing x ** y
it's the same as writing Math.pow(2, 3)
.
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.
And speaking of lesser-known operators in Javascript, we also have a double tilde Js operator.
📖 50 Javascript, React and NextJs Projects
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.
📖 50 Javascript, React and NextJs Projects
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.