forEach ์ฝ๋ฐฑํจ์ ๋ฆฌํด๊ฐ ํ์
์ด void์ธ ์ด์ ?
์๋
ํ์ธ์ํจ์ ์์ฒด์ ๋ฐํ ํ์
void๋ "๊ฐ์ ๋ฐํ ํ ์ ์๋ ์๋ฏธ"์ undefined ์ ๊ฐ์ ์๋ฏธ์ด๊ณ ์ฉ,์ฝ๋ฐฑ์์ void ์๋ฏธ๋ "๊ฐ์ ๋ฐํํ ์ ์๋ค"๋ก ์๊ณ ์๊ณ ๊ทธ๋ฌ๊ธฐ์ undefiend( ๋ฐํ๊ฐ์ด ์๋ค) ์๋ฏธ๋ ์๋๊ฑธ๋ก ์๊ณ ์์ต๋๋ค์ด๋์ ์ฐจ์ด๊ฐ ์์ต๋๋ค ๊ทธ๋์ ์ฝ๋ฐฑ์์ ๋ฆฌํดํ์
๊ฐ์ undefined -> void ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ์๋ฌ ์๋ฉ๋๋ค,, ์ถ๊ฐ๋ก forEach ์์ฒด์ ๋ฆฌํด๊ฐ์ undefined๋ก ํด์ค๋ ์๋ฌ ์๋ฉ๋๋ค, ์๋๋ฉด ์ค์ forEach ํจ์๋ ๋ฐํ๊ฐ์ด ์๊ณ ์ฌ๊ธฐ์์ void์๋ฏธ๋ undefined ์ด๊ธฐ ๋๋ฌธ์
๋๋คdeclare function forEach(arr: number[], callback: (el: number) => void): undefined; let target: number[] = []; forEach([1, 2, 3], el => { target.push(el) }); forEach([1, 2, 3], el => target.push(el));