龙空技术网

Vue语法之object.assign深入简出

安智兔写字机器人 87

前言:

目前看官们对“c语言assign函数的使用方法”可能比较关怀,各位老铁们都需要学习一些“c语言assign函数的使用方法”的相关文章。那么小编在网上搜集了一些对于“c语言assign函数的使用方法””的相关文章,希望看官们能喜欢,朋友们快快来了解一下吧!

1、函数定义

object.assign()主要用于对象合并,将源对象中的属性复制到目标对象中,他将返回目标对象。

Object.assign(target, ...sources)

参数:target:目标对象

source:源对象

返回值:target目标对象

2、使用详解

1)目标对象与源对象没有同名属性,会持源对象属性追加到目标对象

var target = {name:'带你飞',age:16}var source = {age:18}var result = Object.assign(target,source)console.log(result,target===result); // {name: '带你飞', age: 18} true

2)目标对象与源对象有同名属性,源对象属性会覆盖目标对象属性

var target = {name:'带你飞',age:16}var source1 = {age:18}var source2 = {age:20,hobby:'打游戏'}var result = Object.assign(target,source1,source2)console.log(result,target===result); // {name: '带你飞', age: 20, hobby: '打游戏'} true

3)有多个源对象,没有同名的属性会直接复制到目标对象上,如果有同名属性的话,后面的属性值会覆盖前面的属性值。

var target = {name:'带你飞',age:16}var source1 = {age:18}var source2 = {age:20,hobby:'打游戏'}var result = Object.assign(target,source1,source2)console.log(result,target===result); // {name: '带你飞', age: 20, hobby: '打游戏'} true

4)生成一个新对象,但不改变源对象,可以使用一个空的target对象

var result=Object.assign({},target,source);

5)Object.assign与直接赋值的区别

方法1:var target = {name:'带你飞',age:16}var source = {age:18}var result = Object.assign(target,source)方法2:var result={name: '带你飞', age: 18} 

方法1:result指向地址没有发生改变仍指向原有地址

方法2:result赋值了一个新的对象,指针指向了一个新的地址,地址已经发生了改变

3、总结

object.assign()主要用于对象合并,将源对象中的属性复制到目标对象中,他将返回目标对象。如果有同名属性的话,后面的属性值会覆盖前面的属性值,如果有多个源对象,没有同名的属性会直接复制到目标对象上。

标签: #c语言assign函数的使用方法