js 基础数据类型和引用数据类型有哪些?有什么区别?

JavaScript 基础数据类型

  • 原始类型(Primitive Types):存储简单的数据值,包括:
    • 布尔型(Boolean):true 或 false
    • 数字型(Number):整数或浮点数
    • 字符串型(String):由字符组成的序列
    • null:表示空值
    • undefined:表示未赋值
    • Symbol(ES6):唯一且不可变的值

引用数据类型

  • 引用类型(Reference Types):存储对对象的引用,包括:
    • 对象(Object):包含属性和方法的集合
    • 数组(Array):存储元素的有序集合
    • 函数(Function):包含可执行代码的块

区别

特征基础数据类型引用数据类型
存储方式栈内存堆内存
值传递值传递(按值复制)引用传递(按引用复制)
可变性不可变可变
内存占用

总结

基础数据类型存储简单的数据值,在内存中直接存储其值。引用数据类型存储由于其值的大小会改变,所以不能将其存放在栈中,否则会降低变量查询速度,在内存中存储对象的地址。

当原始类型作为函数参数传递时,会按值进行复制。这意味着对副本所做的任何更改都不会影响原始值。

当引用类型作为函数参数传递时,会按引用进行复制。这意味着对副本所做的任何更改都会影响原始对象。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值