JavaScript Curly将参数作为函数参数括起来

时间:2016-06-09 09:55:12

标签: javascript curly-braces

我对javascript不太熟悉并且有一个与函数参数周围使用的花括号有关的问题,因为它不是JSON结构。

我正在学习核js,我发现了一些代码作为例子,但我不太了解 - 为什么“产品”是括号?:

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

THX

2 个答案:

答案 0 :(得分:9)

这是一个用于创建对象的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

答案 1 :(得分:2)

这是用于定义具有与变量名相同的密钥的对象的ES6简写语法。

{product}{ product: product }相同。

Property Shorthand

MDN Docs