๋ฐฐ์ด ๋ณํํ ๋๋ง๋ค ๋น ๋ฐฐ์ด์ push๋ก ๋ฃ๊ฑฐ๋ ์ ๊ฐ์ฐ์ฐ์๋ง ์ฃผ๊ตฌ์ฅ์ฐฝ ์ฌ์ฉํ๋๋ฐ
์๋ถ๋ค(?) ์ฝ๋๋ณด๋๊น Array.from ๋ฉ์๋๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ณ ๊ณ์๋๋ผ.
๊ฒฐ๊ณผ๊ฐ์ ๊ฐ๊ธธ๋ ๋ญ ์ฌ์ฉํด๋ ์๊ด์๋๊ฑด๊ฐ ์ถ์๋๋ฐ... ์๋์์๐คฏ;
์ง๊ธ๊ป ๊ฐ๋ ๋ ๋ชจ๋ฅด๊ณ ์ฌ์ฉํ...ใ
๋จ์ํ ๋ฐฐ์ด ๋ณต์ฌ๋ ์ดํฐ๋ฌ๋ธ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋ค ๋ ์ ํฉํ๋ค.
๋ฌธ๋ฒ์ด ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ด๋ผ๋ ์ฅ์ ์ด ์๋ค.
ex)
const set = new Set([1,2,3]);
const arr = [...set];
// [1,2,3]
const str = 'tomato';
const arr2 = [...str];
// ['t', 'o', 'm', 'a', 't', 'o']
arguments, NodeList)์ฒ๋ผ ์ดํฐ๋ฌ๋ธ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉํ ์ ์๋ค๋ ์ ํ์ด ์๋ค.ex) ์๋ฌ์์๐
const ex = 123;
const arr = [...ex];
ํ์ง๋ง querySelectorAll()๋ก ๋ฐํํ ์์์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์ ์์ํ๋๋ฐ,
๐ก ํ์ฌ ๋๋ถ๋ถ์ ์ต์ ๋ธ๋ผ์ฐ์ ์์๋ ๋ชจ๋ NodeList ๊ฐ์ฒด๊ฐ ์ดํฐ๋ฌ๋ธ๋ก ๊ตฌํ๋์ด ์์ด์ querySelectorAll๋ก ๋ฐํ๋ NodeList๋ฟ ์๋๋ผ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ป์ NodeList๋ผ๋ ์ ๊ฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค๊ณ ํ๋ค.
๋ธ๋ผ์ฐ์ ํธํ์ฑHTMLCollection ๋ณด๋ค๋ NodeList๐ก์ฆ, NodeList๋ผ๋ฉด ๋๋ถ๋ถ์ ์ต์ ํ๊ฒฝ์์ ์ ๊ฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋, ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ด ํ์ํ๋ค๋ฉด Array.from()์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ข๋ค.
์กด๊ฒฝํ๋ Inpa๋์ ์ดํฐ๋ฌ๋ธ-์๋ฒฝ ์ดํด (์ฐธ๊ณ ๐)
codingEverybody_HTMLCollection๊ณผ NodeList ๋น๊ต (์ฐธ๊ณ ๐)
์ดํฐ๋ฌ๋ธ ๊ฐ์ฒด๋ฟ ์๋๋ผ ์ดํฐ๋ฌ๋ธ์ด ์๋ ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด๋ ๋ฐฐ์ด๋ก ๋ณํํ ์ ์์ด ์ ์ฉํ๋ค.
๋ ๋ฒ์งธ ์ธ์๋ก ๋งคํ ํจ์๋ฅผ ์ ๋ฌํ ์ ์์ด, ๋ฐฐ์ด์ ๋ง๋๋ ๋์์ ๊ฐ ์์๋ฅผ ๋ณํํ ์ ์๋ค.
ex) ๋งคํ ์์
const arr = Array.from('hello', char => char.toUpperCase());
// ['H', 'E', 'L', 'L', 'O']
๐๊ฒฐ๋ก ์ ๊ทธ๋ฅ ๋งคํ ํจ์๊ฐ ํ์ํ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ํ๋ค๋ฉด Array.from() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋๊ฒ ์ ์ฉํ ๋ฏ ํ๋ค.