@(文章目錄 前言 1、流程及圖 2、前端: 1.表單提交 <!-- 企業簡稱 --> <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="800px"> <el-form :model="editEntity" ...
求冪運算符,一種將指數應用於基數的數學計算。已有的Math.pow()
方法可以執行求冪計算,但它也是為數不多的需要通過方法而不是正式的運算符來進行求冪運算的語言之一。
求冪運算符是兩個星號(**):左操作數是基數,右操作數是指數。並且是右結合的: a ** b ** c
等於 a ** (b ** c)
.
// x ** y
let squared = 2 ** 2;
// same as: 2 * 2
// also same as, Math.pow(2,2);
let cubed = 2 ** 3;
// same as: 2 * 2 * 2
// also same as : Math.pow(2,3)
// x **= y
let a = 2;
a **= 2;
// same as: a = a * a;
// a等於4
let b = 3;
b **= 3;
// same as: b = b * b * b;
// b等於27
// 從右往左的順序
2 ** 3 ** 2 // 512
2 ** (3 ** 2) // 512
(2 ** 3) ** 2 // 64
運算優先順序
求冪運算符在Javascript所有二進位運算符中具有最高的優先順序(一元運算符的優先順序高於**),這意味著它首先應用於所有複合操作。
let result = 2 * 5 ** 2;
console.log(result); // 50
先計算Math.pow(5, 2),然後乘以2,得出50。
運算限制
左側的一元表達式只能使用++或--。
// 語法錯誤
let result = -5 ** 2;
-是只適用於5呢,還是表達式5**2的結果,這邊的語法有問題,含義不清,所以會報錯。
Uncaught SyntaxError: Unary operator used immediately before exponentiation expression. Parenthesis must be used to disambiguate operator precedence
如果需要明確意圖,需要用括弧包裹-5,或5**2。
let result = -(5 ** 2); // -25
let result1 = (-5) ** 2; // 25
上述兩個意圖明確的表達式就是正確的。