软件教程 2025年08月6日
0 收藏 0 点赞 668 浏览 1218 个字
摘要 :

文章目录 1. Object.assign()理解 2. const理解 本文主要讲解关于ES6的Object.assign()、const相关内容,帮助大家进一步理解,避免进入误区,让我们来一起学习下吧! 1……




本文主要讲解关于ES6的Object.assign()、const相关内容,帮助大家进一步理解,避免进入误区,让我们来一起学习下吧!

1. Object.assign()理解

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

MDN官方文档的例子:

const target = {
    a: 1,
    b: 2
}
const source = {
    b: 4,
    c: 5
}
const returnTarget = Object.assign(target, source)
console.log(target)        //{ a: 1, b: 4, c: 5 }
console.log(returnTarget) // { a: 1, b: 4, c: 5 }
  • 该属性在ES6才引入,是一个不错的操作js对象格式的新属性。里面还涉及到深拷贝和浅拷贝,替换对象等众多概念。
  • Object.assign()方法只会拷贝源对象自身的并且可枚举的属性到目标对象。
  • Object.assign()最常用的功能是将新的对象或者json属性复制和追加到老的对象,然后生成一个新的整合对象。
  • 在项目中,很常用的就是请求传参时,追加各种筛选条件。

重要描述:如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似的覆盖前面的源对象的属性。(意思是,如果源对象利用有 j = { a: 1 },新对象也有 { a: 2 },那么就会直接覆盖,相当于是j.a = 2。)

例子:

let obj1 = {
    a: 1,
    b: 2
}
Object.defineProperty(obj1,\'c\',{
    value: 3,
    enumerable: false
})
let obj2 = {
    d: 4
}
Object.assign(obj1,obj2)
console.log(obj1)  // { a: 1, b: 2, d: 4, c: 3 }
for (key in obj1) {
    console.log(key)  // a b d
    console.log(obj1[key])  // 1 2 4
}

2. const理解

  • var:随意改变作用域和值。
  • const:相当于给变量加了一个锁。

const声明创建一个值得只读引用。但是这并不意味着它所持有的值是不可变的,只是变量标识符不能重新分配。例如,在引用内容是对象的情况下,这意味着可以改变对象的内容(例如,参数)。

比如:

const num = 1000
num = 2000 // 报错,因为在同一作用域,num的值已经固定,不可改变。

但是:

const obj = {
    a: 1000
}
obj.a = 2000
console.log(obj)  // { a: 2000}
// 这个不会报错,因为其属性值是可以被改变的,也就是文档里说的改变对象内容,但是不能改变他在内存中的表示和位置。

以上就是关于ES6得Object.assign()、const相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客,学习愉快哦!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/6389.html

管理员

相关推荐
2025-08-06

文章目录 一、Promise基础回顾 二、Promise 与 axios 结合使用场景及方法 (一)直接返回 axios …

270
2025-08-06

文章目录 一、模块初始化时的内部机制 二、常见导出写法的差异分析 (一)写法一:module.exports…

108
2025-08-06

文章目录 一、ResizeObserver详解 (一)ResizeObserver是什么 (二)ResizeObserver的基本用法 …

684
2025-08-06

文章目录 一、前期准备工作 (一)下载相关文件 (二)安装必要工具 二、处理扣子空间生成的文件…

340
2025-08-06

文章目录 一、官方文档 二、自动解包的数据类型 ref对象:无需.value即可访问 reactive对象:保持…

371
2025-08-06

文章目录 一、Hooks的工作原理 二、在if语句中使用Hook会出什么岔子? 三、React官方的Hook使用规…

844
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号