JavaScript中的操作符用于表达式的操作。JavaScript提供了很多操作符供我们选择,有些操作符是我们在开发中是经常使用的,有些可能很少使用。但是,这些操作符我们都需要有所了解,因为即使自己不用,当你看到旧项目中的一些罕见的操作符时,还是要理解这个操作符的意义。下面就来看看JavaScript为我们提供了哪些操作符。先列举一种,往后更新 ....
一、一元操作符
操作符可以根据他们期待的操作符个数来分类,多数的JavaScript操作符都是二元操作符,二元操作符可以将两个表达式合成一个更复杂的表达式。JavaScript也支持一元操作符,这些操作符可以将一个表达式转化为另一个更复杂的表达式。同时,JavaScript中也有一个三元操作符,就是条件操作符(?:),它用于将三个表达式组成一个表达式。下面就先来看看一元操作符。
一元操作符具有以下特点:
最简单的操作符,用来操作一个表达式;
具有高优先级和右结合性;
在必要时将操作数自动转化为数值。
1. 递增和递减操作符(++ --)
JavaScript的递增和递减操作符和其他语言基本一致。递增操作符顾名思义就是递增其操作数,递减操作符就是递减其操作数。它们都有两个版本:
前缀版(++i):操作符位于变量的前面,表示先递增(递减),后执行语句;
后缀版(i++):操作符位于变量的后面,表示先执行语句,后递增(递减);
简单看两个例子:
// 前置递增操作符:
let num1 = 1, num2 = 2;
console.log(++num1 + num2) // 4
// 后置递增操作符:
let num1 = 1, num2 = 2;
console.log(num1++ + num2) // 3
可以看到,两种类型的结果是不一样的,原因就在于后置递增递减操作是在包含它们的语句被求值之后才执行的。
这四个操作符可以作用于任何类型的数据。对于这些类型,JavaScript会将他们转化为数值,再在这个数值上进行加一或减一操作。如果不能转化为一个数字,那么递增或递减的结果就是NaN:
let str = "hello";
console.log(str++) // NaN
递增和递减操作符主要用于for循环中控制计算器递增或递减。
2. 加和减操作符
加和减操作符既是一元操作符,也是二元操作符。这里我们先来看一元加和减操作符。
(1)一元加运算符(+)
一元加操作符会将其操作数转化为数值,并返回转化后的值。需要注意:
如果操作数是数值,那它什么都不做;
如果操作数不能转化为数值,那么会返回NaN;
由于BigInt值不能转化为数值,因此这个操作符不能用于BigInt。
let a = -1;
let b = "hello";
let c = BigInt;
console.log(+a) // -1
console.log(+b) // NaN
console.log(+c) // NaN
(2)一元减运算符(-)
一元减操作符和一元加操作符类似,会先将操作数转化为数值,然后会改变结果的符号:
let a = -1;
let b = 2;
console.log(-a) // 1
console.log(-b) // -2
一元加和减操作符主要用于基本的算术运算,也可以用于数据类型的转换,将不同类型的数据转化为数字类型,像Number()方法一样。
网友评论