JS的数据类型:
首先, JS的数据类型分为基本数据类型和引用数据类型
基本数据类型:
- string
- number
- null
- undefined
- boolean
- symbol
引用数据类型:
- object
- Array
- Date
- Math
- function
- RegExp
- Number
- String
- Boolean
JS数据类型之间的转换
在 JS 中的类型转换都会转换成以下 3 种类型
转为 String 可以使用以下方法进行转换 String() 、toString()
转为 Boolean 可以使用 Boolean()
转为 Number 可以使用 Number() 、parseFloat() 、parseInt()
类型转换分为两种:隐式类型转换、显式类型转换
-
显式类型转换
指通过编写代码在类型之间进行转换,例如:var.toString()、Number(val) -
隐式类型转换
指在对不同类型的值使用运算符时,值可以在类型之间自动的转换, 例如:100 + true1、+运算符
a、字符串参与的+运算符操作
字符串与任何类型的值做+运算,都是将其他类型转换成字符串后做拼接操作'aa' + 1 // aa1 'aa' + 'bb' // aabb 'aa' + true // aatrue 'aa' + null // aanull 'aa' + undefined // aaundefined
b、数字参与的+运算符操作
1 + true // 2 1 + null // 1 1 + undefined // NaN
c、布尔值参与的+运算符操作
如果存在布尔值进行运算,先将布尔值转换成数字或字符串后进行计算 布尔值遇到字符串,则转换成字符串 布尔值遇到数字,则转成数字
d、Null和Undefined参与的+运算符操作
如果和数字进行计算,null会转化为0,undefined会转化成NaN Null遇到字符串则转换成字符串,遇到数字则转换成0,遇到布尔值则布尔值和Null都转换成数字再进行运算 Undefined遇到字符串则转换成字符串,遇到数字则转换成NaN,遇到布尔值则布尔值和Undefined都转换成数字再进行运算
2、-运算符
任何类型的数值遇到-运算符都会先将自身类型转换成数字之后在进行运算
a、字符串参与的-运算符字符串遇到-运算符会转换成数字
b、布尔值参与的-运算符操作
布尔值遇到-运算符会转换成数字
c、Null和Undefined参与的-运算符操作
null会转化为0,undefined会转化成NaN
3、==运算符
Number、Boolean、Null、Undefined进行比较的时候都会将运算数转换为数字,然后再进行比较
Undefined和Null比较特殊,它们两个使用==运算符返回值是true。
网友评论