Tengo una pregunta muy simple.
Pero cual es la diferencia entre:
export const addToCart = function(product, quantity){ cart.push({product, quantity}); console.log(`${quantity} ${product} are added`); }y
export const addToCart = function(product, quantity){ cart.push(product, quantity); console.log(`${quantity} ${product} are added`); }Gracias
El primero es insertar un objeto en una matriz, mientras que el segundo es insertar cada elemento en una matriz.
var a =[]; a.push({b:1,c:2}) // [{b: 1, c: 2}] a.push(1,2) // [1,2]En este caso:
cart.push({product, quantity})es igual a
cart.push({ product: product, quantity: quantity})Estos nombres abreviados de propiedad se introdujeron en ES2015/es6 . Cuando hay un nombre de propiedad que es igual al nombre de una variable (una variable que contiene el valor de su propiedad), no necesita mencionar el nombre de la propiedad al inicializar el objeto.
Entonces, en su caso, está agregando un objeto con property y quantity en una matriz de cart . Entonces, cuando inicie sesión en la consola, verá como [{'property': 'bottle', 'quantity': 99 }]
En este caso:
cart.push(product, quantity); normalmente está agregando dos artículos cuyo valor está en variables de product y quantity . Entonces, cuando inicie sesión en la consola, verá algo como ['bottle', 99 ]
cart = []; //cart = []; const addToCart = function(product, quantity){ cart.push({product, quantity}); console.log(cart); } const addToCart2 = function(product, quantity){ cart.push(product, quantity); console.log(cart); } addToCart("product 1", 100); // [ { "product": "product 1", "quantity": 100 }] //addToCart2("product 1", 100); // [ "product 1", 100 ]