我对 javascript 不太熟悉,并且有一个关于函数参数周围使用大括号的问题,因为它不是 JSON 结构。
我正在学习核js,我找到了一些代码作为示例,但我不太明白 - 为什么“产品”在大括号中?:
addToCart(product) {
reactor.dispatch(ADD_TO_CART, { product })
}
Thx
这是创建对象的 ES2015(也称为 ES6)简写。
{ product }
相当于{ product: product }
.
基本上,您最终会得到一个具有名为"product"
具有以下价值product
多变的。
const prop = "prop value";
const obj = { prop, anotherProp: "something else" }
console.log("obj: ", obj);
看一看在 MDN 文档中 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Object_initializer and here http://ariya.ofilabs.com/2013/02/es6-and-object-literal-property-value-shorthand.html如果您需要更详细的解释。
这是一种相对较新的语法,因此旧的浏览器(例如 IE)可能会引发语法错误,但它开始在现代浏览器中得到很好的支持。看看这里ES2015兼容性表 https://kangax.github.io/compat-table/es6/#test-object_literal_extensions_shorthand_properties.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)