面试题-js数据类型的差异

52 阅读1分钟

今天总结一下js的数据类型之间的差异

基本数据类型

string number boolean null undefined symbol(symbol代表创建之后独一无二且不可改变的数据类型)

引用数据类型

很多(Function,Array....)统称Object

区别:

1.声明变量时的储存分配

基本数据类型在栈中

引用数据类型在堆中

2.不同的内存机制有不同的访问机制

不可以直接访问和操作在堆中的变量,需要通过其在栈中的地址访问操作

基本可以直接,引用操作的是地址;

3.复制变量时不同

` let a=1

let b=a;//a,b值相同,但是无联系;

a=[1,2,3]

b=a;//b和a指向是同一个地址,即b[]数组改变,a[]也改变变.反之亦然。`

image.png

第一篇文章,有什么不到位的地方欢迎讨论。