【问题标题】:JavaScript Curly braces argument as function parameter [duplicate]JavaScript花括号参数作为函数参数[重复]
【发布时间】:2016-10-09 21:49:25
【问题描述】:

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

我在学习核js,找了一些代码作为例子,但我不是很理解——为什么“产品”是大括号?:

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

谢谢

【问题讨论】:

    标签: javascript curly-braces


    【解决方案1】:

    这是 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

    【讨论】:

      【解决方案2】:

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

      {product}{ product: product } 相同。

      Property Shorthand

      MDN Docs

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-20
        • 2011-05-08
        • 2014-12-23
        • 2015-12-02
        • 2019-02-16
        • 2015-09-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多