JS数据类型之间的转换

1.动态的,变量可以随意赋值
let x = y ? 1 : 'a';
2.自动转换类型
'5' - '3' // 2
3.强制转换
Number()、String()和Boolean()三个函数,有返回值并且不是原地操作
*Number比parseInt要严格,先调用valueOf,再调用toString
toString()也不是原地操作
*String先toString再valueOf
*Boolean
Boolean(undefined) // false Boolean(null) // false Boolean(0) // false Boolean(NaN) // false Boolean('') // false Boolean({}) // true Boolean([]) // true Boolean(new Boolean(false)) // true
4.自动转换
123 + 'abc' // "123abc"
5.自动转换为字符串
`
'5' + 1 // '51'
'5' + true // "5true"
'5' + false // "5false"
'5' + {} // "5[object Object]"
'5' + [] // "5"
'5' + function (){} // "5function (){}"
'5' + undefined // "5undefined"
'5' + null // "5null"
var obj = {
width: '100'
};

obj.width + 20 // "10020"
6.自动转换为数值
'5' - '2' // 3
'5' * '2' // 10
true - 1 // 0
false - 1 // -1
'1' - 1 // 0
'5' * [] // 0
false / '5' // 0
'abc' - 1 // NaN
null + 1 // 1
undefined + 1 // NaN
+'abc' // NaN
-'abc' // NaN
+true // 1
-false // 0
7.字符串与Json//json转字符串
JSON.stringify();
//字符串转json
JSON.parse();
`

你可能感兴趣的:(JS数据类型之间的转换)