Object.assign()方法
1、对象的扩展
ES6中,对象的属性和方法可简写:对象的属性值可不写,前提是属性名已经声明;
var name = "zhangsan";var password = "1111111";var obj = {name,password,arr:[1,2,3,4],sayName(){console.log(this.name);}};console.log(obj);var obj1 = {age:20,};
2、Object.assign()方法
特点:浅拷贝、对象属性的合并
var nObj = Object.assign({},obj,obj1);
//花括号叫目标对象,后面的obj、obj1是源对象。
对象合并是指:将源对象里面的属性添加到目标对象中去,
若两者的属性名有冲突,后面的将会覆盖前面的// console.log(nObj);// obj.sayName();//zhangsan// nObj.sayName();//zhangsannObj.name = "lisi";nObj.sayName = function(){console.log(this.name);};console.log(nObj);obj.sayName();//zhangsannObj.sayName();//lisinObj.arr[0] = 10;console.log(obj);//[10,2,3,4]console.log(nObj); //[10,2,3,4]//说明是浅拷贝,若要深拷贝,请考虑以前的方法(只是将源对象的引用给目标对象)//【注意】:当Object.assign()方法用于数组时:var arr11 = Object.assign([1,2,3],[4,5]);console.log(arr11);//[4,5,3]//[说明]:对象是根据属性名来对应,数组是根据索引号来对应,相当于var arr23 = {0:1,1:2,2:3};//相同的属性名有0、1,后面的覆盖前面的。
3、Object.assign()方法的用法
(1)合并多个对象
const obj1 = { name: '张三',age: 20}
const obj2 = { address: '广东深圳', hobby: 'code' }
const obj3 = { workingYears: 5}const obj = Object.assign(obj1, obj2, obj3)console.log(obj) //{ name: '张三', age: 20, address: '广东深圳', hobby: 'code', workingYears: 5}
(2)克隆对象(浅)
const obj = { name: '张三' ,age: 20}const obj1 = Object.assign({},obj)console.log(obj1) //{ name: '张三' ,age: 20}
(3)为对象添加多个方法
Object.assign(SomeClass.prototype, {someMethod(arg1, arg2) {},anotherMethod() {}
});
// 原来的方法
SomeClass.prototype.someMethod = function (arg1, arg2) {
};
SomeClass.prototype.anotherMethod = function () {
};
Object.assign()方法相关推荐
- JavaScript 复制对象与Object.assign方法无法实现深复制
在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String.Symbol(ES6 新增),而复 ...
- es6 Object.assign()方法
Object.assign()方法 基本用法 Object.assign()方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target). const target = ...
- JavaScript中的Object.assign()方法
目录 介绍 什么是Object.assign()? JavaScript可枚举属性 语法和参数 您可以使用Object.assign()方法做什么? 合并对象 克隆对象 关于Object.assign ...
- Object.assign方法的使用和splice方法用法
一.基本语法 Object.assign(target, ...sources) 二.基本概念 Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target ...
- Object.assign() 方法的使用详解
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 注意: 会改变源对象 语法: Object.assign(target, ...sou ...
- Object.assign()方法的用法
1.合并多个对象 2.克隆对象(浅): 3.为对象添加多个方法 定义方法: insertRprm(data) {let params = Object.assign({}, {pagename: 'n ...
- assign深拷贝_经典前端面试题: Object.assign 是浅拷贝还是深拷贝?实现深拷贝的方法有哪些?...
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖.后面的源对象的属性将类 ...
- JavaScript深入理解对象方法——Object.assign()
Object.assign() Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 语法 Object.assign(target, ... ...
- js对象新增方法object.assign()
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target). const target = { a: 1 };const source1 = ...
最新文章
- 计算机组装与维修案例分析,计算机组装毕业论文
- 【移动开发】EditText输入字数限制总结(包括中文输入内存溢出的解决方法)...
- webpack:js、css、es6装载与压缩配置-学习笔记
- 使用OpenSSL加密,使用Java解密,使​​用OpenSSL RSA公钥
- 特别慢_这款“爱豆”很特别,它带你重温旧时光,体验慢生活的时代
- MySQL 练习 创建表格2
- python中zip的使用_浅谈Python中的zip()与*zip()函数详解
- sql server 查询工具_分享一款开源的SQL查询优化工具--EverSQL
- mysql 事务_详解mysql如何做事务
- 谁提供一个能用的ICHAT文字聊天室程序,急需
- IntelliJ IDEA For Mac 的破解方法
- 斐波那契数列 java
- html渐变色原理,CSS渐变色效果的实现方法与效果演示
- 深入理解栈(Stack)
- flask 数据库迁移migration
- Java咖啡馆(2)——第一杯咖啡
- “沉浸式大型线下游戏”?看看这次腾讯TGC上如何玩很大!
- Python爬虫——爬取股票信息生成csv文件
- 因计算机丢失d3dx9-30,Win10玩仙剑5提示d3dx9_30.dll文件丢失的解决方法
- PyQt 5.2 发布,此版本完全支持Qtv5.2.0