一、其他类型转换为布尔值
使用boolean()函数将其他类型转换为Boolean型,所有表示没有或者错误的都转换为false
对于数字:除了0和NaN,都是true
对于字符串:空串是false,其他都是true
null和underfined都是false
一般情况对象都会转换为true
也就是说false的情况:0,NaN,空字符串’',false,null,underfined
二、运算符
运算符(操作符)
通过运算符可以对一个值或多个值进行各种运算,对一个值进行运算的运算符,称为一元运算符,对两个值进行运算,称为二元运算符
算数运算符:
+ 对两个值进行加法运算;
- 对两个值进行减法运算
* 对两个值进行乘法运算
/对两个值进行除法运算
**对一个值的几次幂
%取模,两个数相除取余数
如果对于两个字符串做加法运算,则会将两个字符串拼接为一个字符串,两个布尔值相加(true和false)是1或0两者相加
除了字符串的加法以外,对其他类型的值进行算术运算时都会转换为数值,然后再进行运算
所以我们可以通过为一个任意值-0,*1等方式来将其转换为数字,这种方式称为隐式类型转换,这种方法的原理和Number()函数一样,但是更简单一些
任何值和NaN做任何运算结果都是NaN(除了字符串加法)
三、字符串的加法
任何值和字符串做加法时都会转换为字符串,然后再和字符串进行拼串,利用这个特点,可以通过为一个任意值,加上一个空串’'的形式来将其转换为字符串,原理跟String()一样,但这种方法简单一些
自增(++)
自增分为前++(++a)和后++(a++),无论是前者还是后者,对于a都是一样的,都是使变量a立刻增加1;a++和++a的返回结果不同;
a++和++a的返回结果不同:a++返回的是变量自增前的值,旧值++a返回的是变量自增后的值,新值;
自减(–)类似
例如:b = 10;let result = a++ + ++a + a;//34
// 10 + 12 +12(只需知道a=10与a++相同,都为10,执行过a++后才加了1)
// a++原来是10,然后执行了一次a变成了11,然后再++a,a就变成了12.再加a,a=12,最后等于34