数据类型转换(一强制转换)

数据类型转换

强制类型转换(所有的隐式转换都是强转)

所谓强制类型转换,都是使用对应数据类型类的constructor方法,进行数据类型转换

转字符串

  • String(值)

  • 数值,布尔值,undefined , Null都会直接转为对应的字符串

  • 1 —> “1” true ----> “true” , undefined —> “undefined” null —> “null”

  • 对象转为 “[object Object]” , 所有的对象都会转换成这个

  • 数组可以直接使用String(数组)将数组中的数据连带逗号都转为数组,也可以用数组的方法,array.join()

     var a = [1,2,3]
     var b = a.join()
    console.log(String(a) === b)  // true
    
  • 函数也可以用强制转换,通过数值,直接转为函数的字符串形式

转数值

  • Number(值)

  • 字符串转数值的时候,如果出现非法字符会转为NaN,否则都是数值

     console.log(Number("3.14e+2"))  // 314
     console.log(Number("0xFF"))  // 这代表将一个十六进制的数转为十进制的
    console.log("FF") // NaN
    console.log(Number("065"))  // 这不代表八进制,在转换时0就当成数字零,这个就是十进制的65字符串形式,转为数字形式
    
  • 空字符串转为数值,是0

  • 布尔值: true —> 1 false —> 0

  • null ----> 0 undefined —> NaN

  • 所有的对象在转为数值时都是NaN

  • !! 所有的数组在强制转换成数值时分为两步: 向将数组隐式转换为字符串,再将转换后的字符串强制转换成数值

    console.log(Number([]))  //====>  String([]) === > ""  ===>  Number("") === 0
    console.log(Number(["1"])) // 1
    console.log(Number([1,2,3]))  // NaN  为啥?  1,2,3 中  , 是非法字符
    

转布尔值

  • Boolean(值)
  • 特变记住: 0 ,“”(空字符串), undefined, Null,false,NaN —> false
  • 其他的所有的类型都是true
  • 数组在强制转换成布尔值时,不会优先转换成字符串,数组本身是引用类型的,所有的引用类型都是 true console.log(Boolean([])) // true

转对象类型

  • 任何类型转换成对象时,都是该类型的对象类型

  • Object(值)

 console.log(Object(1))
 console.log(Object("a"))
 console.log(Object(true))
 console.log(Object({1:2}))
 var a = function(){console.log(true)}
 console.log(Object(a))
  • 在js中万物接对象,此方法可以理解为拿到了最顶层的对象原型,这个在对象的原型链处细说,可以再对象原型中拿到一些静态的方法,比如说第二个,拿到的是字符串的对象原型,可以再里面看到字符串的一些方法

转Symbol型

  • Symbol(值)
  • 当转换的类型不是数值或者字符串时,都会先隐式(强制)转为字符,在转唯一型
  • 不能转换 undefined 和 Null

入职的第一期工作,直接带上痛苦面具,但停更这么多天,主要还是懈怠了,不行得坚持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值