### **五大基本数据类型**
数字
字符串
布尔值
undefined
null:被赋予null的变量通常是已经定义了的。只不过不代表任何东西。
**任何不属于以上五种类型的的值都会被认为是一个对象。**
typeof
![](https://box.kancloud.cn/8073f69bc5fc44fd79e389c03f90aada_180x104.png)
![](https://box.kancloud.cn/d7500a055aa15887040cb17aaec9d92c_210x185.png)
![](https://box.kancloud.cn/31141b19a821b2f449350b99b58356ce_164x142.png)
![](https://box.kancloud.cn/9812f573106e94ffd25f9e8109bb2d66_128x78.png)
NaN具有传染性,
~~~
1+2+NaN
//NaN
~~~
**字符串**
js中,一对单双引号之间的任何值都被视为是一个字符串,typeof其为string
字符串中可包含数字。
![](https://box.kancloud.cn/919147532e3a6f7b4dda304f2197cdc2_117x61.png)
字符串中+为拼接,故需要注意其操作符最好为字符串。
将一个数字字符串用于算术运算中的操作符时,该字符串会在运算中被当做数字类型来使用,+除外。
![](https://box.kancloud.cn/616bb8f2e2b38e887364cc94c62dcdc6_231x157.png)
数字字符串转为数值的方法:将该字符串与1相乘即可。parseInt
其他类型转字符串,偷懒方法:将其与空字符串连接即可。
![](https://box.kancloud.cn/8d5492b1f29422c4be95d27c8668e706_106x178.png)
**falsy:**
(6种)
空字符串“ ”、null 、undefined、数字0、数字NaN、布尔值false。
null不能通过js自动赋值,只能通过代码完成。
![](https://box.kancloud.cn/e87fc035d54f875966dd328622212004_131x127.png)
区别:执行运算时,
![](https://box.kancloud.cn/da68639b041d077e09a621f02f376dfd_181x94.png)
null和undefined在转换为其他基本类型的时候,方法存在一定的区别
![](https://box.kancloud.cn/5150239f7f30b70891407f6f0d055ac8_227x247.png)