2016-07-22 49 views
5

我一直在關注使用Redux設置React的this tutorial,並且我注意到了一些我不熟悉的語法。函數參數定義中的大括號是幹什麼的?JS:函數參數聲明中的大括號是什麼意思?

例子:

function Stream({ tracks = [], onAuth }) { #what is going on here? 
 
    return (
 
    <div> 
 
     ... #component stuff here 
 
    </div> 
 
); 
 
}

是這個陣營的具體?或者這與Babel或其他圖書館有什麼關係?我對這項技術很陌生,所以不確定發生了什麼。

+0

該函數正在傳遞一個對象字面量作爲參數。 – Hopeless

+0

這是什麼意思?該函數在被調用時需要有一個對象字面值?如何將某些東西傳遞給像這樣的函數? – derigible

+0

它看起來像解構語法,但我不知道JavaScript解構。如果是這樣的話,函數需要一個帶有'tracks'字段的對象(但是可以默認爲一個空對象的列表不是必須的)和一個'onAuth'字段,它必須被提供。它基本上是訪問傳遞對象字段的更好方法。 – Carcigenicate

回答

5

它看起來像解構語法,但我不知道JavaScript已解構。

如果這就是它的功能期待的對象與tracks場(但可以默認爲空列表,如果該對象沒有之一),以及onAuth領域,將默認爲undefined。它基本上是訪問傳遞對象字段的更好方法。

+1

onAuth不需要提供。一個局部變量將被創建或者未定義或者通過值 – eltonkamami

+0

@eltonkamami哎呀。糾正。謝謝。 – Carcigenicate

相關問題