2016-06-09 42 views
3

我對JavaScript並不是很有經驗,並且有一個與圍繞函數參數使用的大括號有關的問題,因爲它不是JSON結構。JavaScript作爲函數參數的大括號參數

我學習核JS,我發現了一些代碼的例子,但我不明白它好 - 爲什麼是「產品」是在大括號?:

addToCart(product) { 
    reactor.dispatch(ADD_TO_CART, { product }) 
} 

THX

回答

8

這是ES2015(也稱爲ES6)簡寫來創建對象。

{ product }相當於{ product: product }

基本上,您最終會得到一個對象,其名稱爲"product",它的值爲product變量的值。

const prop = "prop value"; 
 
const obj = { prop, anotherProp: "something else" } 
 
console.log("obj: ", obj);

看一看at the MDN documentationhere如果您需要更詳細的解釋。

這是一種相對較新的語法,所以舊式瀏覽器(例如IE)很可能會引發語法錯誤,但它在現代瀏覽器中開始得到很好的支持。在這裏看看the ES2015 compatibility table