Object.assign()方法

转载:http://www.cnblogs.com/zhaowenxin/p/6160676.html

对象的扩展

1.ES6中,对象的属性和方法可简写:对象的属性值可不写,前提是属性名已经声明;

 1 var name = "zhangsan";
 2     var password = "1111111";
 3     var obj = {
 4        name,
 5        password,
 6        arr:[1,2,3,4],
 7        sayName(){
 8           console.log(this.name);
 9        }
10     };
11     console.log(obj);
12     var obj1 = {
13        age:20,
14     };

2.Object.assign()方法

特点:浅拷贝、对象属性的合并

 1 var nObj = Object.assign({},obj,obj1);//花括号叫目标对象,后面的obj、obj1是源对象。对象合并是指:将源对象里面的属性添加到目标对象中去,若两者的属性名有冲突,后面的将会覆盖前面的
 2     // console.log(nObj);
 3     // obj.sayName();//zhangsan
 4     // nObj.sayName();//zhangsan
 5     nObj.name = "lisi";
 6     nObj.sayName = function(){
 7       console.log(this.name);
 8     };
 9     console.log(nObj);
10     obj.sayName();//zhangsan
11     nObj.sayName();//lisi
12     nObj.arr[0] = 10;
13     console.log(obj);//[10,2,3,4]
14     console.log(nObj); //[10,2,3,4]
15     //说明是浅拷贝,若要深拷贝,请考虑以前的方法(只是将源对象的引用给目标对象)
16     //【注意】:当Object.assign()方法用于数组时:
17      var arr11 = Object.assign([1,2,3],[4,5]);
18      console.log(arr11);//[4,5,3]
19      //[说明]:对象是根据属性名来对应,数组是根据索引号来对应,相当于
20       var arr23 = {
21          0:1,
22          1:2,
23          2:3
24       };//相同的属性名有0、1,后面的覆盖前面的.

Object.assign()方法的用法

  1. 合并多个对象
  2. 克隆对象(浅);
  3. 为对象添加多个方法
    Object.assign(SomeClass.prototype, {
      someMethod(arg1, arg2) {
      },
      anotherMethod() {
      }
    });?
    // 原来的方法
    SomeClass.prototype.someMethod = function (arg1, arg2) {?
    };
    SomeClass.prototype.anotherMethod = function () {
    };
时间: 2024-12-28 23:51:56

Object.assign()方法的相关文章

ES6中Object.assign() 方法

1. 对象合并Object.assign 方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象上.如下代码演示: var target = {a: 0}; var source1 = {b: 1}; var source2 = {c: 2}; Object.assign(target, source1, source2); console.log(target); // 输出 {a: 0, b: 1, c: 2} 1-1 如果目标对象与源对象有同名属性,或多个源对象有同名

Object.assign方法的使用

一.基本语法 Object.assign(target, ...sources)  二.基本概念 Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target).它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象.只要有一个参数不是对象,就会抛出TypeError错 三.基本用途          1.合并多个对象 var target = { a: 1, b: 1 }; var source1 = { b: 2, c: 2 };

javascript学习总结之Object.assign()方法详解

最近再写ES6的文章时候发现自己对Object.assign()方法不太了解,之前也没有接触过所以就就查阅了相关的资料,为了自己以后肯能会用到以及对知识进行巩固,所以在这里记录下自己学习的点点滴滴,毕竟好记性不如然笔筒,废话不多说,直接上干货. 官方解释:Object.assign方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 语法:Object.assign(target,...sources) 参数: target:目标对象 sources:源对象 返回值:

ES6对象方法Object.assign()

1  基本用法 Object.assign方法用于对象的合并,将源对象( source )的所有可枚举属性,复制到目标对象( target ). [javascript] view plain copy var target = { a: 1 }; var source1 = { b: 2 }; var source2 = { c: 3 }; Object.assign(target, source1, source2); target // {a:1, b:2, c:3} Object.ass

es6 javascript对象方法Object.assign() 对象的合并复制等

Object.assign方法用于对象的合并,将源对象( source )的所有可枚举属性,复制到目标对象( target ). 详细使用稳步到前辈: http://blog.csdn.net/qq_30100043/article/details/53422657 原文地址:https://www.cnblogs.com/xiangsj/p/8289814.html

es6 javascript对象方法Object.assign()

es6 javascript对象方法Object.assign() 2016年12月01日 16:42:34 阅读数:38583 1  基本用法 Object.assign方法用于对象的合并,将源对象( source )的所有可枚举属性,复制到目标对象( target ). [javascript] view plain copy var target = { a: 1 }; var source1 = { b: 2 }; var source2 = { c: 3 }; Object.assig

真正掌握vuex的使用方法(二)现在有的小伙伴是不是在想,以后如果我要在这里写自己的计算属性怎么办?怎么办?咱们可以通过对象合并的方法去实现。 通过Object.assign()合并对象:

从上篇文章当中相信大家已经对vuex有了一些大概了解了,接下来咱们结合实例来继续敲代码吧!切记一定要动手实操练习一遍! 接下来咱们来完成一个超级简单的投票功能!要求很简单,点击"投票"按钮,相应的票数会发生加1的变化,另外总票数为所有票数之和,如图所示: 1.首先通过vue-cli生成一个名字叫做demo的项目 vue init webpack demo 2.项目搭建完成以后,安装vuex npm install vuex --save 3.在src目录下创建vuex文件夹,然后在该文

经典前端面试题: Object.assign 是浅拷贝还是深拷贝?实现深拷贝的方法有哪些?

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖.后面的源对象的属性将类似地覆盖前面的源对象的属性. Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象.该方法使用源对象的[[Get]]和目标对象的[[Set]],所以它会调用相关 getter 和 setter.因此,它分配属性,而不仅仅是复制或定义新的属性.如果合并源包含getter,这可

Object.assign使用的方法

一.基本概念:Object.assign方法用来将源对象的所有可枚举属性复制到目标对象中,它至少需要两个对象作为参数:第一个参数是目标对象,后面的参数都是源对象,只要有一个参数不是对象,就会抛出错误 二.基本语法: Object.assign(目标对象,.....源对象) 三.基本用途: 1.合并多个对象 2.克隆对象 3.更改属性的值 原文地址:https://www.cnblogs.com/botugu/p/11376319.html