|
|
@ -38,4 +38,13 @@ |
|
|
|
|
|
|
|
|
|
|
|
## 装箱转换 |
|
|
|
## 装箱转换 |
|
|
|
|
|
|
|
|
|
|
|
- 每一种基本类型 Number、String、Boolean、Symbol 在对象中都有对应的类,所谓装箱转换,正是把基本类型转换为对应的对象,它是类型转换中一种相当重要的种类 |
|
|
|
- 每一种基本类型 Number、String、Boolean、Symbol 在对象中都有对应的类,所谓装箱转换,正是把基本类型转换为对应的对象,它是类型转换中一种相当重要的种类 |
|
|
|
|
|
|
|
- 全局的 Symbol 函数无法使用 new 来调用,但我们仍可以利用装箱机制来得到一个 Symbol 对象,我们可以利用一个函数的 call 方法来强迫产生装箱 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```javascript |
|
|
|
|
|
|
|
var symbolObject = (function(){ return this; }).call(Symbol("a")); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log(typeof symbolObject); //object |
|
|
|
|
|
|
|
object console.log(symbolObject instanceof Symbol); //true |
|
|
|
|
|
|
|
console.log(symbolObject.constructor == Symbol); //true |
|
|
|
|
|
|
|
``` |