spread & rest

๐Ÿ“„ spread ์—ฐ์‚ฐ์ž

spread์—ฐ์‚ฐ์ž๋Š” ES6๋ฌธ๋ฒ•์—์„œ ์ฒ˜์Œ์œผ๋กœ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

spread์—ฐ์‚ฐ์ž๋Š” ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์˜ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์š”์†Œ ํ•˜๋‚˜ํ•˜๋‚˜๋กœ ํŽผ์ณ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

...๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•˜๊ณ  ์ถ”๊ฐ€์ ์ธ ๊ฐ’์„ ๋„ฃ์–ด์ค„ ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

const first = {
  one: 1,
};

const second = {
  ...first, //first์˜ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ฐ€์ ธ์˜ด.
  two: 2,
};

consol.log(first);
consol.log(second);

โœ” ๊ฒฐ๊ณผ

{ one: 1}
{ one: 1, two: 2}

์žฅ์ 

  • spread์—ฐ์‚ฐ์ž๋Š” ๊ธฐ์กด๊ฐ์ฒด๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค์ง€ ์•Š๊ณ  ๋ณต์‚ฌํ•ด์˜ต๋‹ˆ๋‹ค.

  • ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค.

๐Ÿ“„ rest ์—ฐ์‚ฐ์ž

rest์—ฐ์‚ฐ์ž๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ...ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฐจ์ด์ ์€ โ€˜๋‚˜๋จธ์ง€โ€™๋ผ๋Š” ๋œป์„ ๊ฐ€์ง„๊ฒƒ์ฒ˜๋Ÿผ ์ •ํ•ด์ค€ ๊ฐ’ ์ด์™ธ์˜ ๊ฐ’์„ ๋ณต์‚ฌํ•ด์˜จ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

const numbers = [0, 1, 2, 3, 4, 5, 6];

const [one, ...rest] = numbers; //์ฒซ๋ฒˆ์งธ ๊ฐ’์„ ์ œ์™ธํ•œ ๊ฐ’์„ rest๋กœ ๊ฐ€์ ธ์˜จ๋‹ค.
console.log(one);
console.log(rest);

โœ” ๊ฒฐ๊ณผ

0;
[(1, 2, 3, 4, 5, 6)];

์ถœ์ฒ˜

  • ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ”„๋ก ํŠธ์—”๋“œ ๊ฐ•์˜

Leave a comment