1. 转换成number
官方:
1 | Number('1') // 1 |
老司机:
1 | '1' - 0 === 1 //最常见 |
2. 转换成string
官方:
- number、boolean类型可通过toString方法转换成字符串
- symbol不能用toString方法
- undefined、null不能用toString方法,会报错
- object类型用toString只能转换出
'[object Object]'
- 把上述toString()改成String()也一样,但String()能转换null和undefined
1
2
3
4(1).toString(); // '1'
true.toString(); // 'true'
null.toString(); // error:Cannot read property 'toString' of null
undefined.toString(); // error:Cannot read property 'toString' of undefined
老司机:
1 | 1 + '' // '1' |
3. 转换成boolean
官方:
总共只有6个falsy值,0、NaN、’’、null、undefined,除了这6个,其它值都是true。所有对象都是true,包括var n = new Boolean(false),n也是true1
2
3
4
5
6
7
8
9
10
11
12
13
14Boolean(1) // true
Boolean(2) // true
Boolean(0) // false
Boolean(NaN) // false
Boolean('') // 空字符串false
Boolean(' ') // 空格字符串true
Boolean(null) // false
Boolean(undefined) // false
Boolean({}) // 空对象true
Boolean([]) // 空数组true
老司机:
取反两次,总共只有6个falsy值,0、NaN、’’、null、undefined,除了这6个,其它值都是true。所有对象都是true,包括var n = new Boolean(false),n也是true1
2
3
4
5
6
7
8
9
10
11
12!!1 // true
!!0 // false
!!NaN // false
!!'' // false
!!' ' // true
!!{} // true
!!null // false
!!undefined // false