ES6引入了一個新特性——對象和數(shù)組的解構(gòu)復(fù)制和JSON的解構(gòu)復(fù)制。JSON是JavaScript對一種簡單的數(shù)據(jù)表示格式的支持,ES6在JSON的基礎(chǔ)上,擴展了對象和數(shù)組的解構(gòu)復(fù)制。
//對象的解構(gòu)賦值 let {name, age} = {name: '張三', age: 20}; console.log(name); //"張三" console.log(age); //20 //對象的解構(gòu)復(fù)制 let person = {name: '張三', age: 20}; let clonePerson = {...person}; console.log(clonePerson); //{name: "張三", age: 20}
對象的解構(gòu)賦值是將一個對象的屬性值解構(gòu)到不同的變量中,對象的解構(gòu)復(fù)制是將一個對象的屬性值復(fù)制到另一個對象中,相當于是對象的淺拷貝。
//數(shù)組的解構(gòu)賦值 let [a, b, c] = [1, 2, 3]; console.log(a); //1 console.log(b); //2 console.log(c); //3 //數(shù)組的解構(gòu)復(fù)制 let arr = [1, 2, 3]; let cloneArr = [...arr]; console.log(cloneArr); //[1, 2, 3]
數(shù)組的解構(gòu)賦值是將一個數(shù)組的元素解構(gòu)到不同的變量中,數(shù)組的解構(gòu)復(fù)制是將一個數(shù)組的元素復(fù)制到另一個數(shù)組中,相當于是數(shù)組的淺拷貝。
//JSON的解構(gòu)復(fù)制 let person = {name: '張三', age: 20}; let clonePerson = JSON.parse(JSON.stringify(person)); console.log(clonePerson); //{name: "張三", age: 20}
JSON的解構(gòu)復(fù)制是將一個JSON對象進行深拷貝,注意要先將JSON對象轉(zhuǎn)化為字符串,再將字符串轉(zhuǎn)化為JSON對象。
上一篇vue可以補幀