๐Ÿ“Œ โ€œ๊ฐ์ฒดโ€๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ „๋‹ฌ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณต์‚ฌํ• ๋•Œ๋Š” ํ•ญ์ƒ ์–•์€ ๋ณต์‚ฌ๊ฐ€ ์ด๋ฃจ์–ด์ง!

Ex) Array.from, concat, slice, spread(โ€ฆ), Object.assign

โœ

const pizza = { name: "pizza", price: 2 };
const ramen = { name: "ramen", price: 3 };
const sushi = { name: "sushi", price: 1 };

const store1 = [pizza, ramen];
const store2 = Array.from(store1);

console.log("store1 : ", store1);
//store1 :  [ { name: 'pizza', price: 2 }, { name: 'ramen', price: 3 } ]
console.log("store2 : ", store2);
//store2 :  [ { name: 'pizza', price: 2 }, { name: 'ramen', price: 3 } ]

store2.push(sushi);
console.log("store1 : ", store1);
//store1 :  [ { name: 'pizza', price: 2 }, { name: 'ramen', price: 3 } ]
console.log("store2 : ", store2);
//store2 :  [
  { name: 'pizza', price: 2 },
  { name: 'ramen', price: 3 },
  { name: 'sushi', price: 1 }
]

pizza.price = 4;
console.log("store1 : ", store1);
//store1 :  [ { name: 'pizza', price: 4 }, { name: 'ramen', price: 3 } ]
console.log("store2 : ", store2);
//store2 :  [
  { name: 'pizza', price: 4 },
  { name: 'ramen', price: 3 },
  { name: 'sushi', price: 1 }
]

๐Ÿšฉ ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” ์ถ”๊ฐ€ํ•œ ๋ฐฐ์—ด์—๋งŒ ๋ณ€ํ™”๊ฐ€ ์žˆ์ง€๋งŒ,

๋ฐฐ์—ด์ด ์ฐธ๊ณ ํ•˜๋Š” ๊ฐ์ฒด์— ๋ณ€ํ™”๊ฐ€ ์žˆ๋‹ค๋ฉด, ๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด๋„ ๋ณ€ํ™”๊ฐ€ ์žˆ๋‹ค.