数据类型的转换和运算符

155 阅读1分钟

数据类型的转换

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、 , 多重赋值

扩展运算符

...是扩展运算符,具有具有扩展与整合的功能。