数据类型的转换
1、强制类型转换
Number() 转换为数字, String() 转换为字符串, Boolean() 转换为布尔值等
2、隐式类型转换
自动转换成符合当前环境
隐式转换Boolean
除以下取值转换为false外其它都是true
1、 undefined
2、 null
3、 ""
4、‘’
5、 0
6、 NaN
7、 ``
8、false
快速数据类型转换的方式
转Number ~~ -0 *1 /1
转String + "" ''
转Boolean !!
运算符
算术运算符
书写格式:标识符 *标识符
+、-、*、/、%
适用条件:number类
适用场景:表达式
注:加号左右存在字符类型的数据,则功能为拼接
一元运算符
左右侧只有一个标识符
取值:++(自增) --(自减)
++在前,先计算,再使用(自减同理)
++在后,先使用,再计算
以上在表达式中适用,如不在表达式中,就直接自增,自减。
let num=3;
console.log(num++);//3
console.log(++num);//5
赋值运算符
取值:=、+=、-=、*=、/=、%=
let num=3;
num+=5;
console.log(num);//8
num-=1;
console.log(num);//7
num*=1;
console.log(num);//7
num/=1;
console.log(num);//7
num%=1;
console.log(num);//0
逻辑运算符(短路运算符)
取值:!非(取反) &&与 ||或者
(与运算:一假全假;或运算:一真全真)
返回值是:Boolean
适用场景:判断条件
let balance=20000;
let saveMoney="200000000";
if (!isNaN(saveMoney)){
balance=balance+saveMoney;
}
console.log(balance);
比较运算符
取值:>、<、>=、<=、==、!=、
===(全等,值和类型都相同则返回true,反之返回false)、
!==(不全等,值和类型不全相同则返回)
返回值:Boolean
【扩展】字符串的比较(ASC码)
1、按位比较
2、比较的是每一位对应的ASC码
3、小写字母大于大写字母
4、越后面的字母越大(a<b,b<c,c<d)
变量值的互换
[ ]
//互换
let a="456";
let b="132";
console.log(a,b);
[b,a]=[a,b]
console.log(a,b);
//批量
let aa="1"
let bb="2"
let cc="3"
let [x,y,z]=[cc,bb,aa]
console.log(x,y,z);
三目运算符
书写格式:条件?表达式2:表达式3;(多件事情用大括号)
功能:条件为真执行表达式2,条件为假执行表达式3
【运算符优先级】 从高到低
1、. [] ()
2、++ -- - ! typeof ~ new delete void
3、* / %
4、+ - +
5、> >= < <= instaceof
6、== != === !==
7、&&
8、||
/9、? :三目运算符
10、= 赋值
11、 , 多重赋值
扩展运算符
...是扩展运算符,具有具有扩展与整合的功能。