js类型转换注意点

1、转换成字符串时,使用 String 构造器
constreviewScore=9
// bad
consttotalScore= reviewScore +''// 实际调用: reviewScore.valueOf()constobj= {
  valueOf: () =>1
}
obj +''// '1' 而不是 '[object Object]'
// bad
consttotalScore= reviewScore.toString() // toString 方法可能被改写
// good
consttotalScore=String(reviewScore)
2、转换成数字时,使用 Number 构造器
constinputValue='4'
// bad
constval=+inputValue
// bad
constval=newNumber(inputValue)

// bad/** * JavaScript 位运算完全套用 Java,有三个问题: * 1、位操作针对的是整数,小数部分会被舍弃 * 2、整数不能超过32位 * 3、JavaScript 的数字都是以双精度浮点数存储的,实际执行还需要先转换为整数 */

constval= inputValue >>0
// good
constval=Number(inputValue)
3、解析成整数时,使用 ParseInt

使用 parseInt 时,如果不指定进制,转换的变量以 0 开头(比如一些月份和天),ECMAScript 3 会当作 8 进制。

constinputValue='200px'
// bad
constval=parseInt(inputValue)
// good
constval=parseInt(inputValue, 10)
4、转换成 boolean 时,使用 Boolean 构造器或者 !!variable
constage=0
// bad
consthasAge=newBoolean(age)
// good
consthasAge=Boolean(age)
// good
consthasAge=!!age

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值