Js类型转换装箱与拆箱
众所周知,JS 是一门弱类型语言。它不需要事先具体声明变量的类型,因为会在程序运行过程中,类型会被自动推断确定。因此,可以用同一个变量保存不同类型的数据:
var a = 1;
a = ‘abc’;
a = {
x: 1
};
装箱
a.x 或者 a[‘x’] 中“.”和“[]”操作符是专门用来获取引用类型属性值的。然而在 JS 中基本类型变量也是可以使用“点”的,这给初学者造成一定困惑,比如:
1 |
|
其实,上述代码运行过程中发生了所谓的“装箱”操作。
比如第二行:
1 |
|
等价于:
1 |
|
因为 2 是基本类型,在取其属性时,先用对应的 Number 构造函数包裹成一个临时对象,然后再对临时对象取属性值操作,随后这个临时对象便销毁。
拆箱
参考文章
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!