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

Mar*_*iel 7 javascript curly-braces

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

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

addToCart(product) {
    reactor.dispatch(ADD_TO_CART, { product })
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Que*_*Roy 10

这是一个用于创建对象的ES2015(也称为ES6)简写.

{ product }相当于{ product: product }.

基本上,您最终会得到一个具有属性的对象,该属性"product"具有product变量的值.

const prop = "prop value";
const obj = { prop, anotherProp: "something else" }
console.log("obj: ", obj);
Run Code Online (Sandbox Code Playgroud)

看一看在MDN文件,并在这里,如果您需要更详细的解释.

这是一种相对较新的语法,因此旧的浏览器(例如IE)可能会引发语法错误,但它在现代浏览器中开始得到很好的支持.请看这里的ES2015兼容性表.