类型转换

数据类型

1: 原始类型 Boolean Null Undefined Number String Symbol
2: 对象

显示类型转换


 - Number 函数
    1:数值: 转换后还是原来的值
    2:字符串:如果可以被解析为数值,则转换为对应的数值, 否则转为NaN     空字符串为0
    3:布尔值:true转为1 false 转为0
    4:undefined: 转为NaN
	5:null: 转为0
	6:对象
		 1. 先调用对象自身的valueOf方法 如果该方法返回原始类型的值 则直接对该值使用Number方法 ,不在进行后续步骤
		 2. 如果valueOf返回的是复合类型的值 在调用对象自身的toString方法, 如果toString方法返回的是原始类型的值, 则对该值进行Number 方法 不在进行后续步骤
		 3. 如果toString 返回的是复合类型的值 则进行报错
		
		
 - String 函数

    1:数值: 转为对应的字符串
	2: 字符串: 转换后还是原来的值
 	3:布尔值: true 转为'true' false 转为 'false'
 	4: undefined: 转为'undefined'
 	5: null: 转为'null'
 	6: 对象 
    	1: 先调用对象自身的toString 方法 如果该方法返回原始类型的值, 则直接对该值使用String 方法 不在进行后续步骤
    	2: 如果toString 返回的是复合类型的值 在调用对象自身valueOf方法, 如果valueOf方法返回的是原始类型的值,则对该值进行String 方法 不在进行后续步骤
    	3: 如果valueOf 返回的类型是复合类型的值 则进行报错

 - Boolean 函数
  
    1:undefined null +0 -0 NaN 空字符串 都是false
    2:其余的都是true

隐式类型转换


 - 四则运算 
 - 判断语句
 - native调用
     1:console.log 转为字符串类型
     2:alert 字符串类型
     
 - 常见题目
    1:[]+[]
    2:[]+{}
    3:{}+[]
    4:{}+{}
    5:true+true
    6:1+{a:1}

typeof


 1: Undefined > 'undefined'
 2: Null      > 'object'
 3: Boolean	  > 'boolean'
 4: Number 	  > 'number'
 5: String    > 'string'
 6: Symbol    > 'symbol'
 7: Host object > implementation-dependent
 8: Function object  > 'function'
 9: any other object > 'object'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章