神奇的Object.assign()
2024-10-20 20:40:49
Object.assign() 方法用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
1、Object.assign()可以在对象为一层的时候,实现简单的“深拷贝功能”
var obj1 = {a:'1',b:'2'}
var obj2 = Object.assign({}, obj1 )
obj2.a = '3'
console.log(obj1) // {a:'1',b:'2'}
console.log(obj2) //{a:'3',b:'2'}
当被可枚举属性为一层的对象时,使用Object.assign可以实现简单的‘深拷贝’功能,不会改变obj1的数据
2、Object.assign()可以在对象为两层或者多层的时候,此时第一种的“深拷贝功能”便无法继续使用。
var obj1 = {name:{a:'1',b:'2'}}
var obj2 = Object.assign({}, obj1 )
obj2 .name.a = '4'
console.log(obj1 ) //name: {a: 4, b: '2'}
console.log(obj2 ) //name: {a: 4, b: '2'}
当被可枚举属性为多层的对象时,使用Object.assign可以复制obj1的内容,但是会改变obj1的数据
最新文章
- linux mount/umount挂载命令解析。
- [LeetCode] Valid Anagram 验证变位词
- Linux操作系统时间与BIOS硬件时间
- VS2010中无法嵌入互操作类型“......”,请改用适用的接口的解决方法
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] C. Weakness and Poorness 三分 dp
- GNOME Shell叫板Ubuntu Unity:优劣PK
- 【POJ】2528 Mayor's posters ——离散化+线段树
- hessian原理解析一(客户端分析)
- 01 Mybatis 的配置和使用
- css学习の第一四弹—代码格式简写归纳
- CCM和GCM
- Hello vue.js的随笔记录
- java编程规范(持续更新)
- dell g3:安装ubuntu16.04 + CUDA8.0
- javascript 生成MD5加密
- 让你的照片更鲜艳------hsv拉伸
- 〖Linux〗git push orgin master不能解析域名的解决方法
- jmeter随笔(34)-WebSocket协议接口测试实战
- python 编码类型
- java面向对象基础复习