一,对象运算
- 对象运算参与运算会先调用对象的原型方法valueOf得到原始值,然后再调用toString方法得到原始值。若2个方法都得不到原始值就会报类型错误。对象无法转为原始类型进行运算
let object = {
valueOf:(){
return 666
},
toString:(){
return '666'
}
}
console.log(object+1)
console.log(object+'1')
二,显示类型转化
let num = Number('666')
let bool = Boolean('666')
let parseInt = parseInt('666')
let parseFloat = parseFloat('666')
let jsonString = JSON.stringify({ s: '666' })
let string = 666 + ''
let number = 666
let templateString = `${number}`
隐式类型转化
- JavaScript引擎会自动将数据类型转为适合当前操作的类型
let string = 666 + '666'
let equal = '666' == 666
let number = true + 666
if(falsy){}
let number = undefined + 666
let number = null + 666