一元操作符
递增/递减操作符
-
递增操作符
-
示例:++1 、1++
-
++1前缀版:变量自身递增后再执行再赋值
-
1++后缀版:变量赋值后再执行自身递增
-
-
递减操作符
-
示例:--1、1--
-
--1前缀版:变量自身递减后再执行再赋值
-
1--后缀版:变量赋值后再执行自身递减
-
一元加和减操作符
-
一元加操作符
-
一元加由一个加号(+)表示,放在变量前头,对数值没有任何影响
-
与使用 Number()转型函数一样的类型转换
-
-
一元减操作符
-
用于把数值变成负值
-
用于基本的算术
-
用于数据类型转换
-
位操作符
用于数值的底层操作
布尔操作符
逻辑非
-
逻辑非操作符由一个叹号(!)表示
-
如果操作数是对象,则返回 false
-
如果操作数是空字符串,则返回 true。
-
如果操作数是非空字符串,则返回 false。
-
如果操作数是数值 0,则返回 true。
-
如果操作数是非 0 数值(包括 Infinity),则返回 false。
-
如果操作数是 null,则返回 true。
-
如果操作数是 NaN,则返回 true。
-
如果操作数是 undefined,则返回 true。
-
-
同时使用两个叹号(!!),相当于调用了转型函 数 Boolean()
-
第一个叹号总会返回布尔值
-
第二个叹号对该布尔值取反
-
从而给出变量真正对应的布尔值。结果与对同一个值使用 Boolean()函数是一样的
-
逻辑与
-
逻辑与操作符由两个和号(&&)表示
-
let result = true && false;
-
逻辑与操作符是一种短路操作符
-
如果第一个操作数决定了结果,那么永远不会对第二个操作数求值
-
-
逻辑或
-
逻辑或操作符由两个管道符(||)表示
-
let result = true || false;
-
逻辑或操作符也具有短路的特性
-
第一个操作数求值为true,第二个操作数就不会再被求值了
-
-
乘性操作符
乘法操作符
-
乘法操作符由一个星号(*)表示,可以用于计算两个数值的乘积
-
let result = 34 * 56;
-
除法操作符
-
除法操作符由一个斜杠(/)表示,用于计算第一个操作数除以第二个操作数的商
-
let result = 66 / 11;
-
取模操作符
-
取模(余数)操作符由一个百分比符号(%)表示
-
let result = 26 % 5; // 等于 1
-
指数操作符
ECMAScript 7 新增了指数操作符
-
Math.pow()
-
console.log(Math.pow(3, 2); // 9
-
-
操作符**
-
console.log(3 ** 2); // 9
-
加性操作符
加法操作符
-
加法操作符(+)用于求两个数的和
-
let result = 1 + 2;
-
减法操作符
-
减法操作符(-)用于求两个数的减
-
let result = 2 - 1;
-
关系操作符
关系操作符执行比较两个值的操作
-
小于(<)
-
大于(>)
-
小于等于(<=)
-
大于等于(>=)
相等操作符
判断两个变量是否相等
-
等于和不等于
-
等于操作符用两个等于号(==)表示
-
不等于操作符用叹号和等于号(!=)表示
-
-
全等和不全等
-
全等操作符由 3 个等于号(===)表示
-
不全等操作符由一个叹号和两个等于号(!==)表示
-
条件操作符
条件操作符是 ECMAScript 中用途最为广泛的操作符之一,语法跟 Java 中一样
-
let variable = boolean_expression ? true_value : false_value;
上面的代码执行了条件赋值操作 即根据条件表达式 boolean_expression 的值决定将哪个值赋 给变量 variable 。 如果 boolean_expression 是 true ,则赋值 true_value ; 如果 boolean_expression 是 false,则赋值 false_value
-
let max = (num1 > num2) ? num1 : num2;
在这个例子中,max 将被赋予一个最大值。 这个表达式的意思是,如果 num1 大于 num2(条件表 达式为 true),则将 num1 赋给 max。否则,将 num2 赋给 max。
赋值操作符
简单赋值用等于号(=)表示,将右手边的值赋给左手边的变量
-
let num = 10;
-
子主题 2
每个数学操作符以及其他一些操作符都有对应的复合赋值操作符:
-
乘后赋值(*=)
-
除后赋值(/=)
-
取模后赋值(%=)
-
加后赋值(+=)
-
减后赋值(-=)
-
左移后赋值(<<=)
-
右移后赋值(>>=)
-
无符号右移后赋值(>>>=)
逗号操作符
逗号操作符可以用来在一条语句中执行多个操作
-
let num1 = 1, num2 = 2, num3 = 3;
-
let num = (5, 1, 4, 8, 0); // num 的值为 0
在赋值时使用逗号操作符分隔值,最终会返回表达式中最后一个值