算术运算符
算术运算符使用数值(字面量或者变量)作为操作数进行运算并返回一个数值。
标准的算术运算符就是加减乘除 +、-、* 和 /。
当操作数是浮点数时,这些运算符表现得跟它们在大多数编程语言中一样(特殊要注意的是,除零会产生 Infinity )。
| 运算符 | 描述 | 示例 | 
|---|---|---|
| + | 加法 | 1 + 1 = 2 | 
| - | 减法 | 2 - 1 = 1 | 
| * | 乘法 | 3 * 3 = 9 | 
| / | 除法 | 10 / 5 = 2 | 
| % | 求余,返回相除后余值 | 12 % 5 = 2 | 
| ++ | 自增(更新运算符),分为前自增和后自增 | 具体参考 更新运算符 | 
| -- | 自减(更新运算符),分为前自减和后自减 | 具体参考 更新运算符 | 
| - | 一元负值符,返回操作数的负值 | -foo | 
| + | 一元正值符,若操作数在操作前非数字类型,将试图将其转换成数字类型 | +foo | 
| ** | 指数运算符,计算 base(底数) 的 exponent(指数)次方 | 2 ** 3 = 8 | 
实践示例
console.log(-9 % 2);
// -1
console.log(1 + -+(+(+-+1)));
// 2
实现指数运算符
function calculateExponent(base, exponent) {
  if (exponent === 1) {
    return base;
  } else {
    return base * calculateExponent(base, exponent - 1);
  }
}