2017-08-14 38 views
0

我在教程中討論了這個語法。有人說它不是ES6語法。它在減少功能。 我需要一個清晰的解釋。這些事情發生了什麼?這個語法是什麼,明確的含義

{...curr, ...acc} 

完整的代碼..

const endShape = _(raw) 
.filter(({key}) =>!/garbage/.test(key)) 
.map(({key,value})=>({[key]:value})) 
.reduce((acc,curr)=>({...curr, ...acc})); 
console.log(endShape); 
+0

我發現使用有用的東西像巴貝爾的在線REPL理解一些最有趣採用新的JS sytntax的 - https://babeljs.io/repl /#?巴比利=假評估=真lineWrap =假預置= ENV%2Cstage-0的目標=瀏覽器= BUILTINS =假調試=假實驗值=真鬆=假規格=假code_lz = MYewdgzgLgBApmAJgZQBYEMAOcYF4YD6AFAE7oDuAlAFAB0AZgJYA2UcJRRA3gNZwCeAX0p4AfAEIA9AHN0JAEbppcSbTbQiffpRq0Atlk68BAGgBu6ZgFc4w3KO4BtLQF0AXBeu2ddEnERWwHCc 6MDAJsBWJCSU9ty0CZHRJjAJtKHAwpQA3NSgkCDMcLTMINJECCgY2DlAA –

回答

-1

傳播操作速記 傳播經營者,在ES6介紹,有幾個用例,使JavaScript代碼更高效和有趣的使用。它可以用來替換某些數組函數。擴散算子只是一系列三個點。

手寫

const odd = [1, 3, 5]; 
const nums = [2 ,4 , 6].concat(odd); 
// cloning arrays 
const arr = [1, 2, 3, 4]; 
const arr2 = arr.slice(); 

速記

// joining arrays 
const odd = [1, 3, 5 ]; 
const nums = [2 ,4 , 6, ...odd]; 
console.log(nums); // [ 2, 4, 6, 1, 3, 5 ] 

// cloning arrays 
const arr = [1, 2, 3, 4]; 
const arr2 = [...arr];