扩展运算符,Object.assign
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
assign或者...擴展符?都是淺拷貝?
對象中的擴展運算符(...)用于取出參數(shù)對象中的所有可遍歷屬性,拷貝到當前對象之中
Object.assign方法用于對象的合并,將源對象(source)的所有可枚舉屬性,復制到目標對象(target)
如果在拷貝?屬性值是對象時,拷貝的是對象的引用地址
可以簡單深拷貝:? ?借助JSON.parse? 。因為字符串轉(zhuǎn)成對象之后就是一個新的對象
var a={title:'a',name:{a:'1',b:'2'}};var b = JSON.parse(JSON.stringify(a)) b.name.a='3'; console.log(a,b)=========================
let bar = {a:1,b:2};
let foo = {c:3, ...bar}? ? ==>?等價于? let foo = Object.assign({},bar);
let bar = [1,2,3]
let foo = [4,...bar]
?
任何 Iterator 接口的對象(參閱 Iterator 一章),都可以用擴展運算符轉(zhuǎn)為真正的數(shù)組
foo (a,b,c){
?const args = [...arguments];? ?=>等價于? Array.prototype.slice.call(arguments);
}
?
?
?
?
?
?
?
?
?
轉(zhuǎn)載于:https://my.oschina.net/u/560237/blog/3045296
總結(jié)
以上是生活随笔為你收集整理的扩展运算符,Object.assign的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为交换机vlan与trunk配置
- 下一篇: 从小部件的调整入手,AI 让你秒变时尚达