前言:
目前看官们对“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函数的使用方法