JavaScript 花括号参数作为函数参数
JavaScript Curly braces argument as function parameter
我对 javascript 不是很有经验并且有一个关于函数参数周围使用的花括号的问题,因为它不是 JSON 结构。
我正在学习nuclear js,我找到了一些代码作为示例,但我不太理解-为什么"product"在大括号中?:
addToCart(product) {
reactor.dispatch(ADD_TO_CART, { product })
}
感谢
这是一个 ES2015(也称为 ES6)shorthand 创建对象。
{ product }
等同于 { product: product }
.
基本上,您最终会得到一个名为 "product"
的 属性 对象,它具有 product
变量的值。
const prop = "prop value";
const obj = { prop, anotherProp: "something else" }
console.log("obj: ", obj);
如果您需要更详细的解释,请查看at the MDN documentation and here。
这是一种相对较新的语法,因此旧浏览器(例如 IE)可能会引发语法错误,但它开始在现代浏览器中得到很好的支持。在这里查看 the ES2015 compatibility table.
这是 ES6 shorthand 语法,用于定义与变量名称具有相同键的对象。
{product}
等同于 { product: product }
.
我对 javascript 不是很有经验并且有一个关于函数参数周围使用的花括号的问题,因为它不是 JSON 结构。
我正在学习nuclear js,我找到了一些代码作为示例,但我不太理解-为什么"product"在大括号中?:
addToCart(product) {
reactor.dispatch(ADD_TO_CART, { product })
}
感谢
这是一个 ES2015(也称为 ES6)shorthand 创建对象。
{ product }
等同于 { product: product }
.
基本上,您最终会得到一个名为 "product"
的 属性 对象,它具有 product
变量的值。
const prop = "prop value";
const obj = { prop, anotherProp: "something else" }
console.log("obj: ", obj);
如果您需要更详细的解释,请查看at the MDN documentation and here。
这是一种相对较新的语法,因此旧浏览器(例如 IE)可能会引发语法错误,但它开始在现代浏览器中得到很好的支持。在这里查看 the ES2015 compatibility table.
这是 ES6 shorthand 语法,用于定义与变量名称具有相同键的对象。
{product}
等同于 { product: product }
.