JS里的数据类型转换

JS有7种数据类型,分别是

number string boolean symbol null undefined object

某些数据类型之间可以转换

一、数据类型转成字符串

1. toString()

1
2
(1).toString()
//"1"
1
2
true.toString()
//"true"

null和undefined使用toString会报错,因为它们没有toString属性

对象的toString会得到”[object Object]”

图示1

2. String

图示2

3. + ‘’

使用加号和空字符串
1
2
1 + ''
//"1"
1
2
true + ''
//"true"

4. window.String

图示3

二、数据类型转成布尔值

1. Boolean

1
2
Boolean(1)
//true
1
2
Boolean(0)
//false

2. !!

1
2
!! 1
//true
1
2
!! 0
//false
1
2
!! 'x'
//true

注意: 5个falsy值,0,空字符串,null,undefined,NaN

注意: 容易被认作是falsy值,但不是,空格字符串,(空)对象

三、数据类型转成数字

1. Number

1
2
Number('1')
//1

2. parseInt

1
2
parseInt('1',10)
//1
1
2
parseInt('2')
//2

3. parseFloat

1
2
parseFloat('1.23')
//1.23

4. x - 0

1
2
'1' - 0
//1

图示4

4. + x

1
2
+ '1'
//1

图示5

四、内存图

JS 引擎将内存分为代码区和数据区

数据区分为 Stack(栈内存) 和 Heap(堆内存)

简单类型的数据直接存在 Stack 里

复杂类型的数据是把 Heap 地址存在 Stack 里

图示6

图示7

感谢您的阅读。 🙏 关于转载请看这里