利用陣列解構
來實現值的互換
let a = 'world', b = 'hello'
[a, b] = [b, a]
console.log(a) // -> hello
console.log(b) // -> world
我們經常使用console.log()
來進行除錯,試試console.table()
也無妨。
const a = 5, b = 6, c = 7
console.log();
console.table(});
es6時代,運算元組的語句將會更加的緊湊
// 尋找陣列中的最大值
const max = (arr) =>
math.max(...arr);
max([123, 321, 32]) // outputs: 321
// 計算陣列的總和
const sum = (arr) => arr.reduce((a, b) => (a + b), 0)
sum([1, 2, 3, 4]) // output: 10
展開運算子可以取代concat
的地位了
const one = ['a', 'b', 'c']
const two = ['d', 'e', 'f']
const three = ['g', 'h', 'i']
const result = [...one, ...two, ...three]
我們可以很容易的實現陣列和物件的淺拷貝
拷貝
const obj =
const arr = [ ...oldarr ]
拷貝
=深拷貝
?淺拷貝
?
好像有些朋友對這裡我說的淺拷貝
有些質疑,我也能理解大家所說的。下面陣列為例:
// 陣列元素為簡單資料型別非引用型別
const arr = [1, 2, 3, 4];
const newarr = [...arr];
// 陣列元素為引用型別
const person01 = ;
const person02 = ;
const person03 = ;
const arr = [person01, person02, person03];
const newarr = [...arr];
console.log(newarr[0] === person01);
// true
第二個 demo 就是我想表達的淺拷貝,若有不同意見歡迎討論~
解構使得函式宣告和函式的呼叫更加可讀
// 我們嚐嚐使用的寫法
const getstuffnotbad = (id, force, verbose) =>
// 當我們呼叫函式時, 明天再看,尼瑪 150是啥,true是啥
getstuffnotbad(150, true, true)
// 看完本文你啥都可以忘記, 希望夠記住下面的就可以了
const getstuffawesome = () =>
// 完美
getstuffawesome()
陣列解構非常贊!結合promise.all
和解構
和await
會使**變得更加的簡潔
const [user, account] = await
promise.all([
fetch('/user'),
fetch('/account')
])
編寫 ES6 的 7 個實用技巧
無腦翻譯走一波 使用陣列解構交換變數的值 let a world b hello a,b b,a console.log a hello console.log b world yes,it s magic再強調一遍,陣列解構非常好用。結合async await與promises能讓複雜的流程變得簡...
ES6 變數的結構賦值用途(實用技巧)
1.交換變數的值 let x 1 let y 2 x,y y,x x 2,y 1 2.從函式返回多個值 函式只能返回乙個值,如果要返回多個值,只能將它們放在陣列或者物件裡返回,有了解構賦值,取出這些值就非常方便了。返回陣列 function example let a,b,c example a 1...
ES6的七個技巧
利用陣列解構來實現值的互換 let a world b hello a,b b,a console.log a hello console.log b world我們經常使用console.log 來進行除錯,試試console.table 也無妨。const a 5,b 6,c 7 console...