(不讨论symbol的转换)
转为string(X表示待转换的对象)
- toStringX
- String(X)
- X + '' (最常用)
- window.string(?)
转为boolean
- boolean(X)
- !!X
五个falsy值 0,NAN,''(空字符串),null,undefined。除这五个外,其他均为ture
转为number
- Number(X)
- parseInt('X',10) 10代表10进制
- parseFloat('1.23')
'X'-0 ===X
+ 'X'===X
普通类型和对象的区别
普通类型是储存在栈内存(stack)里面,而对象/复杂类型(object)是将堆内存(heap)的地址存入栈内存(stack)里面的。
深拷贝和浅拷贝
- 深拷贝:原始变量的内存,不随拷贝变量的更改而更改(包括堆内存和栈内存)
- 浅拷贝:原始变量的堆内存,随拷贝变量的改变而改变
对所有的基本类型来说,赋值就是深拷贝。
网友评论