js中的数据类型
1.js中的8大数据类型
- 五种基本数据类型:String,Number,Undefined,Boolean,Null
- 两种复杂数据类型:Object,Symbol
其中Object是引用数据类型,其余的都是基本数据类型。
2.基本数据类型与引用数据类型的区别
基本数据类型由于占据的空间大小固定且较小,会被存储在栈当中,也就是变量访问的位置,引用数据类型存储在堆当中,变量访问的其实是一个==指针==,它指向存储对象的内存地址
在赋值时,基本数据类型是把值复制给变量,而引用数据类型则是把==内存地址==赋值给了变量所以会导致两个变量使用同一个数据的情况发生 。
示例代码:
// 这是一个引用数据类型
const obj = {
name:'zr',
age:16;
}
const newObj = obj; // 把obj的内存地址赋值给了newObj
newObj.name = 'zz'; // 等同于修改obj.name的值
console.log(obj);// {name:'zz',age:16}
console.log(newObj) // {name:'zz',age:16}
在函数传参时,如果传递的参数是引用数据类型也会导致两个变量共享一个值的情况,所以在传引用数据类型的值的时候,我们需要通过Object.assign
方法复制一个值出来。在面对多层对象的参数时需要手动编写深层拷贝方法来拷贝对象。
3.结语
js中的数据类型只有8种,但是因为js是弱类型语言具体的类型还得通过赋值时才能确定,同时还分为基本数据类型和引用数据类型,这两个类型的差别需要注意一下,如果大家觉得我介绍的还可以的话可以关注我我以后会为大家介绍前端更多的知识和技巧等。