spread-operator-rest-param
Spread Operator
์์๋ก ํ์ธํ์ 'ใ '/
containing array
const featured = ['Deep dish', 'Peperoni', 'Hawaiian'];
const specialty = ['Meatzza', 'Spicy Nama', 'Margherita'];
const pizas = featured.concat(specialty);
console.log(pizas); // ["Deep dish", "Peperoni", "Hawaiian", "Meatzza", "Spicy Nama", "Margherita"]๋ง์ฝ ์ค๊ฐ์ ๋ ๋ค๋ฅธ ์ถ๊ฐ๊ฐ ํ์ํ๋ค๋ฉด?
const featured = ['Deep dish', 'Peperoni', 'Hawaiian'];
const specialty = ['Meatzza', 'Spicy Nama', 'Margherita'];
let pizzas = [];
pizzas = pizzas.concat(featured);
pizzas.push('veg');
pizzas = pizzas.concat(specialty);
console.log(pizzas); // ["Deep dish", "Peperoni", "Hawaiian", "veg", "Meatzza", "Spicy Nama", "Margherita"]ํ์ง๋ง spread operator๋ฅผ ์ด๋ค๋ฉด!
:open_mouth: ์์ฒญ๋๊ฒ ๊น๋ํด์ก๋ค! :open_mouth:
Array copy
Array๋ ์ฐธ์กฐ๊ฐ์ด ๋ณต์ฌํ๊ธฐ ๋๋ฌธ์ ์๋กญ๊ฒ ๋ณต์ฌํ fridayPizzas ๋ฅผ ์์ ํ๋ฉด pizzas๋ ๊ฐ์ด ์์ ๋๋ค.
true copy 4๊ฐ์ง ๋ฐฉ๋ฒ
์ด 4๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค๋ฉด, reference ํ๊ฒ ์๋๋ผ ์์๋ค์ ๋ณต์ฌ ํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ, ์์ ํ์ฌ๋ pizzas๊ฐ ์์ ๋์ง ์๋๋ค.
proto : NodeList => Array
spread operator๋ฅผ ํตํด NodeList ๋ Array๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
spread operator + string
์ ์ธ ์ํค๊ธฐ
call, apply ๋์ ์ฌ์ฉํ๊ธฐ
apply์ ๋๋ฒ์งธ ์ธ์๊ฐ ์ดํด๊ฐ ์๋์ด ๋ ์ฐพ์ ๋ณด์๋ค.
apply๋ argsArray ํ๋ผ๋ฏธํฐ๋ฅผ ์ํ arguments๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
apply์ ๋๋ฒ์งธ ์ธ์๋ก๋ array๊ฐ ์ฌ ์ ์๋ค. ์ด ์ ์ ์ด์ฉํด ๋๋ฒ์งธ ์ธ์์ ๋ฐฐ์ด์ ๋ณด๋ด๊ณ push๊ฐ ์คํ๋ ๋์๋ ๋ฐฐ์ด์ด ํ๋ฆฐ๋ค. ์ด์ ์ ์ฌ์ฉํ์ฌ ์ฌ๊ธฐ์ ๊ธฐ์ ์ฐ์ธ๋ค.
MDN ์์ - ๋ด์ฅํจ์ ์ฌ์ฉ
๋ค์ ๋ณด์
this๋ถ๋ถ์ null๋ผ๊ณ ์์ฑํ๋ฉด ์๋๋ค. ์์ฑ์ํจ์๊ฐ ์๋๋ผ ์ง์ ์ ์ธ ๋ค์์ ๊ฐ์ง inventors์ ์ถ๊ฐํด์ผ ํด์ ์๋๊น? ๊ทธ ๋ค์์ ์ธ์๋ฅผ ๋ฐฐ์ด๋ก ๋ฐ๊ธฐ ๋๋ฌธ์ array๋ฅผ ์ฌ์ฉํ์๋ค.
ํ์ง๋ง ์ด๋ฅผ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ ์ ์๋ค.
๋!
์์ MDN์์๋ ์ฝ๊ฒ ์ ๋ฆฌ ํ ์ ์๋ค.
์ ๋ง ๋๋จํ๋ค.. :open_mouth:
Spreading into a function
Rest Param
๋งค๊ฐ๋ณ์ ์๋ฆฌ์ ์ด๋ค. ๋๋จธ์ง ๋งค๊ฐ๋ณ์๋ฅผ ๋ปํ๋ค.
+ spread operator
Last updated
Was this helpful?