2016-06-09 2 views
3

Я не очень разбираюсь в javascript и задаю вопрос, связанный с фигурными фигурными скобками, используемыми вокруг параметра функции, поскольку его структура не является JSON.JavaScript Curly braces аргумент как параметр функции

Я учусь ядерной JS, и я нашел некоторый код, как пример, но я не понимаю, это хорошо - почему «продукт» в фигурных скобках ?:

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

THx

ответ

8

Это это ES2015 (также называемая ES6) стенографией для создания объектов.

{ product } равнозначно { product: product }.

В принципе, вы получаете объект с свойством, называемым "product", который имеет для значения значение переменной product.

const prop = "prop value"; 
 
const obj = { prop, anotherProp: "something else" } 
 
console.log("obj: ", obj);

Посмотрите at the MDN documentation и here, если вам нужно более подробное объяснение.

Это относительно новый синтаксис, поэтому старые браузеры (например, IE), скорее всего, поднимут синтаксическую ошибку, однако она начинает очень хорошо поддерживаться среди современных браузеров. Посмотрите здесь the ES2015 compatibility table.

2

Это условный синтаксис ES6 для определения объекта с тем же ключом, что и имя переменной.

{product} такой же, как { product: product }.

Property Shorthand

MDN Docs

Смежные вопросы