·JavaScript中的数据类型及类型转换
一、数据类型
ES5的数据类型:Number、String、boolean、null、undefined、Object
ES6相当于在ES5的六种类型上新增了一种:Symbol
1.number: 所有的数字都是数据number型
注意:(比较特殊的NaN,NaN表示一个坏掉的数值,所以NaN的类型是 number,并且在number类型中所有的数字(不分正负,浮点数,大小,进 制,Infinity:正无穷 , -Infinity: 负无穷 )。
2.string:所有的出现在引号里的内容都是字符串。
注意:字符串前后出现加号的时候,不是数学运算上的加法,是字符串的拼接。
3.boolean: 布尔类型,布尔值很特殊,仅有两个值true 和 false,即真或假。
注意:当true 和 false没有加引号时,不为字符串,可看作变量,同时true 和 false也是js里的关键字,有特殊意义,不能用来命名,true 和 false表示真和假。
4.null: 有且仅有一个值就是null(指向一个空的内存地址,空的值)
5.undefined:有且仅有一个值就是undefined(undefined通常表示的是未识别 的、初始化的值)
注意:如果只var或let了一个变量,没有赋初值,则默认值是undefined。
二、 数据类型转换
1.类型转换:将其他数据类型转为数字类型
显式类型转换:使用对应的数据类型的基础构造函数直接进行转换
隐式类型转换:利用不同运算符的特性,从而可以对不同类型的数据进行相 互转换
(1)Number()
Number 方法在将字符串转为数字时,只能转纯数字字符串, 如果是非纯 数字字符串转换不了,显示为 NaN。
注意:如果是空字符串则显示为0
Number 方法将布尔值转为数字类型 true和false转换为1和0。
Number 方法将undefined转为数字类型结果为NaN
Number 方法将null转为数字类型 结果为0
(2)parseInt()
parseInt 类似截取, 从左到右第一个为数字的字符开始截取,截取过程中从不为数字
的位置断开,并且截取不到非数字右边的数字。
parseInt 转布尔值的时候, 结果为NaN
parseInt 方法将undefined转为数字类型结果为NaN
parseInt 方法将null转为数字类型 结果为0
注意: parseInt 除了可以将其他数据类型转为数字,也可以将数字类型的不同进制转
为十进制数字。
(3)parseFloat()
parseFloat 类似截取, 从第一个为数字的字符开始截取, 可以保留一个小 数点,截取不 到任何从左到右不为数字的字符,截取过程中从不为数字的 位置断开,并且截取不到非数字右边的数字。
注意:小数点后面非数字字符截取不到小数点与非纯数字字符。其他类型转换与parseInt()方法相似。
(4)+-符号
注意:本质上调用的转换形势与Number方法结果相同,只是将结果添加
了+或 - 符号。
后置++和--跟前置++和--的区别:后置的是先参与其他运算,后自增 或自减,
前置是先自增或自减 后参与其他运算。
2.将其他类型转字符串类型
String()
3.将其类型转为布尔类型
Boolean()
三、特殊运算符加号
1.字符串拼接:加号的两侧,只要有一次是字符串, 那么加号就会变成字符串拼接。
2.变量:变量!在使用时使用变量所指代的值来替换变量这个符号。