js数据类型
javascript将数据类型分为基本数据类型和引用数据类型,两者之间的区别就是它们存储的位置不同。
基本数据类型
- Number
- String
- Null
- Undefined
- Boolean
- Symbol(es6)
基本数据类型都是一些简单的数据段,它们是保存在栈中的。
引用数据类型
- Object
- Array
引用数据类型是保存在堆中的,然后再栈中保存了一个对堆中实际对象的引用,所以对引用数据的操作都是操作对象的引用地址而不是操作实际的对象。
复制(拷贝)
基本数据类型
对基本数据类型的拷贝,就是在栈中重新分配一个新值。
引用数据类型
引用数据类型的拷贝,系统也会自动为新的变量在栈内存中分配一个值,但这个值仅仅是一个地址。也就是说,拷贝的值和原来的值指向的是堆内存中的同一个对象。
引用数据类型的拷贝涉及到深浅拷贝的问题,以后再谈。