Я всегда находил старый способ написания выражения возведения в степень немного неудобным. К счастью, появился оператор возведения в степень. Этот синтаксис также делает его более похожим на другие языки (например, Ruby, Python). Круто 👍

// Old way
const old = Math.pow(3, 7);
// 2187
// ✅ ES7 way 
const es7 = 3 ** 7;
// 2187

Обозначение инфиксов

Использование ** называется инфиксной нотацией. Он характеризуется размещением операторов между операндами. Другие популярные инфиксные обозначения включают: + или -.

Причина, по которой был введен этот синтаксис, заключается в том, что:

Инфиксная нотация более лаконична, чем нотация функций, что делает ее более предпочтительной

Экспоненциация на других языках

Кроме того, вы заметите, что этот синтаксис очень похож на другие языки:

// Python
a ** b
// Ruby
a ** b
// Perl
a ** b
// F#
a ** b

Мне действительно нравится, что он похож на другие языки. Потому что это значительно упрощает освоение JavaScript для этих людей, и они могут быть запущены очень быстро.

Оператор присваивания

Вы, должно быть, видели арифметический оператор в сочетании с оператором присваивания. Например +=:

a += b
// Same as
// a = a + b

Точно так же это можно сделать и с оператором возведения в степень. **=:

a **= b
// Same as
// a = a ** b

Отрицательная база

Есть одна небольшая проблема. Когда у вас есть отрицательная база, вам придется заключить ее в круглые скобки.

// ❌ Syntax Error
const wrong = -3 ** 7;
// ✅
const correct = (-3) ** 7;

Однако это не проблема, если вы используете более старый способ работы.

const works = Math.pow(-3, 7);

Ресурсы

Делиться

Спасибо за чтение ❤

Сказать привет! Instagram | Facebook | Твиттер | SamanthaMing.com | Блог