js中的数据类型和数据类型转换

js中的数据类型

原始类型 String Number Boolean Null Undefined Symbolgit

对象 Objectgithub

显式类型转换

显示类型转换是经过调用下面这三个函数来进行的。函数

  • Number( )
  • String( )
  • Boolean( )

1. Number( )

数值: 转换以后仍是数值
字符串: 若是能够被解析为数值,则转为数值,不然转为NaN,空字符串转为0
布尔值: true转成1, false转为0
undefined: 转成NaN
null : 转成0
对象: 这个稍微复杂一些,具体的过程以下code

  • 1.若是调用对象自己的valueOf方法返回的是原始数据类型,则调用Number()来对返回的值进行处理。
  • 2.若是调用对象自己的valueOf方法以后返回的复合数据类型,则调用对象自身的toString方法,若是toString的返回值是原始的数据类型,则对该值使用Number()处理,再也不进行后续步骤。若是toString返回的是复合的数据类型,则报错。

https://codepen.io/zhaojianxi...对象

2. String( )

数值: 转换成对应的字符串
字符串: 仍是自身
布尔值 : true转为‘true’ ,false转为‘false’
undefined: 转为“undefined”
null : 转为 ‘null’
对象:这个过程同样是有点复杂,具体的过程以下blog

  1. 若是调用对象自己的toString方法返回的是原始数据类型,则调用String()来, 再也不进行如下步骤。
  2. 若是toString方法返回的是复合类型的值,再调用valueOf方法,若是ValueOf返回的是原始类型的值,则对该值使用String方法,若是valueOf方法返回的是复合类型的值,则报错。

https://codepen.io/zhaojianxi...字符串

3. Boolean()

除undefined,null,0,NaN,空字符串以外,所有返回true。get

隐式类型转换

隐式类型转换的场景大概有以下几种it

  1. 四则运算
  2. 判断语句
  3. native调用

https://github.com/JesseZhao1...io

相关文章
相关标签/搜索