运算符

1、算术运算符

运算符(操作符)

  • 运算符可以用来对一个或多个操作数(值)进行运算
  • 算术运算符:
  • 加法运算符
  • 减法运算符
  • 乘法运算符
    / 除法运算符
    ** 幂运算
    % 模运算,两个数相除取余数
  • 注意:
  • 算术运算时,除了字符串的加法,
    其他运算的操作数是非数值时,都会转换为数值然后再运算

JS是一门弱类型语言,当进行运算时会通过自动的类型转换来完成运算

当任意一个值和字符串做加法运算时,它会先将其他值转换为字符串,

然后再做拼串的操作

可以利用这一特点来完成类型转换

可以通过为任意类型 + 一个空串的形式来将其转换为字符串

其原理和String()函数相同,但使用起来更加简洁

<script>
let a = 1 + 1
a = 10 - 5
a = 2 * 4
a = 10 / 5
a = 10 / 3
a = 10 / 0 // Infinity
a = 10 ** 4
a = 9 ** .5 // 开方
a = 10 % 2
a = 10 % 3
a = 10 % 4

a = 10 - '5' // 10 - 5
a = 10 + true // 10 + 1
a = 5 + null // 5 + 0
a = 6 - undefined // 6 - NaN

a = 'hello' + 'world'
a = '1' + 2 // "1" + "2"

a = true
a = a + ''
console.log(typeof a, a)
</script>

2、赋值运算符

赋值运算符用来将一个值赋值给一个变量
=
- 将符号右侧的值赋值给左侧的变量
??=
- 空赋值
- 只有当变量的值为null或undefined时才会对变量进行赋值
+=
- a += n 等价于 a = a + n
-=
- a -= n 等价于 a = a - n
*=
- a *= n 等价于 a = a * n
/=
- a /= n 等价于 a = a / n
%=
- a %= n 等价于 a = a % n
**=
- a **= n 等价于 a = a ** n
<script>
let a = 10
a = 5 // 将右边的值 赋值 给左边的变量
let b = a // 一个变量只有在=左边时才是变量,在=右边时它是值

a = 66
a = a + 11 // 大部分的运算符都不会改变变量的值,赋值运算符除外

a = 5
// a = a + 5 // 10
a += 5 // 在a原来值的基础上增加5

a = null

a ??= 101
console.log(a)
</script>

3、一元±

一元的±

+正号
  • 不会改变数值的符号
-负号
  • 可以对数值进行符号位取反
当我们对非数值类型进行正负运算时,会先将其转换为数值然后再运算
<script>
let a = -10
a = -a
let b = '123'
b = +b // b = Number(b)
console.log(typeof b, b)
</script>