JavaScript的数据类型和区别

73 阅读1分钟

原始数据类型

存储

  • 原始数据类型是直接存储在栈(stack)里面的简单数据段
  • 栈区内存由编译器自动分配释放,存放函数的参数值、局部变量的值等

特点

  • 占据空间小、大小固定,属于被频繁使用的数据
  • 栈中数据的存取方式为先进后出

分类

  • Number
  • String
  • Boolean
  • Undefined
  • Null
  • BigInt (ES10+)
  • Symbol (ES6+)

引用数据类型

存储

  • 引用数据类型存储在堆(heap)中的对象
  • 堆区内存由开发者分配释放,若开发者不释放,在程序结束后可能由垃圾回收机制收回

特点

  • 占据空间大、大小不固定
  • 如果存储在栈中,将会影响程序运行的性能;引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会先检索其在栈中的地址,取得地址后从堆中获得实体
  • 堆是一个优先队列,是按照优先级来排序的,优先级可以按照大小来规定

分类

  • Object
  • Function
  • Array

----------------------------------------------------------------------------------每日一问:2024/4/22