JavaScript学习笔记——运算符

运算符

算术运算符

  • 加减乘除:+ - * /
  • 取余数:%
  • 自增:++
    i++; 等同于 i = i+1;
    ++在变量之前,先自增再使用
    ++在变量之后,先使用再自增
  • 自减:--
    i++; 等同于 i = i+1;
    --在变量之前,先自增再使用
    --在变量之后,先使用再自增

其中自增和自减符号是在变量被使用的情况下才满足上述规则。
如下代码所示

let a = 1, b = 1, c = 1, d = 1;
console.log(`a的值为`);
console.log(a++);//在使用a的同时用了自增,则先使用再自增,输出1
console.log(a);//上一步操作自增后,a的值为2,输出2
console.log(`b的值为`);
console.log(++b);//先自增再使用,自增后b的值为2,输出2
c++;//在这一行没有使用c,只是在进行自增,则不论++在前还是在后,执行这行代码后,c的值都为2
console.log(`c的值为`);
console.log(c);//输出2
++d;//同理c
console.log(`d的值为`);
console.log(d);//输出2

输出结果:

a的值为
1
2
b的值为
2
c的值为
2
d的值为
2

赋值运算符

= += -= *= /= %=
a+=b; 等同于 a=a+b;
其余类似

逻辑运算符

【前提】
在逻辑运算符会将左右两侧的值转换为布尔值来进行判断
除了以下转换为false的,其他都转换为true
0,空字符串,null,undefined,NaN,false

逻辑与 && 一假全假

//注:数值在判断语句中会自动转换成布尔型输出,但这里是输出语句,不会将输出的值转换,所以输出里面的数值,而不是布尔值
//从左至右判断,遇到假才会停止并输出假;若没有假则输出最后一个
console.log(1 && 2 && 3);//输出3
console.log(1 && 0 && 3);//输出0

逻辑或 || 一真全真

//从左至右判断,遇到真才会停止并输出真;若没有真则输出最后一个
console.log(1 || 2 || 3);//输出1
console.log(1 || 0 || 3);//输出1

逻辑非 ! 取反

三目运算符

书写格式:
条件 ? 表达式1 : 表达式2 ;
功能:
条件为true,执行表达式1
条件为false,执行表达式2

let i = 1 < 2 ? `正确` : `错误`;
console.log(i);//输出正确
let j = 3 < 2 `正确` : `错误`;
console.log(j);//输出错误
//这里的 1<2 和 3<2 都是条件

【扩展】

解构运算符

赋值符号左右的数据类型(括号类型)要一致
1、交换两个变量的值

//交换两个变量的值
let i = 1;
let j = 2;
[i, j] = [j, i]
console.log(i, j); //2,1

2、批量赋值

//批量赋值
let [a,b,c]=[1,'a',3];
console.log(a,b,c);//1 a 3

let arr = ["A", "B", "C", true, false];
let [x,y]=arr;
console.log(x,y);//A B

扩展运算符(…)

如代码所示

let str ='123';
let arr1=['a','b','c'];
let arr2=[...str];
console.log(...str);//1 2 3
console.log(...arr1);//a b c
console.log(arr2);//[ '1', '2', '3' ]

你可能感兴趣的:(JavaScript学习笔记,javascript,js,前端)