WEB/JavaScript4 ๋ setTimeout, setInterval ๋ก ์๊ฐ ๋ณด์ฅํ๋ค๊ณ ํ ์ ์์ด? ์ด๋ป๊ฒ? ํ์ด๋จธ๋ฅผ ๊ตฌํํ๋ค๊ฐ ๋ฌธ๋ ๊ทธ๋ฐ ์๊ฐ์ด ๋ค์๋ค. ์๋ฌด ์๊ฐ ์์ด setTimeout ๊ณผ setInterval์ ์ฌ์ฉํ๋ฉด์ ์๋ค๋ ์ด๋ป๊ฒ ๋์๊ฐ๋๊ฑฐ์ง? ์๋ค๋ฅผ ๋ฏฟ๊ณ ์จ๋๋๋๊ฑด๊ฐ? ๊ณผ์ฐ setTimeout๊ณผ setInterval์ด ์๊ฐ์ ๋ณด์ฅํด์ฃผ๋ ๊ฒ ๋ง๋? ๊ทธ๋์ ๊ณต๋ถํ๊ฒ ๋๋ค. ๐TL; DR setTimeout, setInterval์ ์ฐจ์ด์ ์ง์ฐ ๊ฐ๊ฒฉ์ด ๋ณด์ฅ๋๋? ์๊ฐ์ ์ธก์ ํด์ผ๋๋ ํ์ด๋จธ๋ผ๋ฉด Date๊ฐ ํด๊ฒฐ์ฑ ์ด ๋ ์๋..? setTimeout ์ง์ ํด์ค ์๊ฐ์ด ์ง๋ ํ์ 1ํ ํน์ ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ ๋น๋๊ธฐ ํจ์ setTimeout์ด ๋น๋๊ธฐ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ ์ด์ ๋ JS์์ง์ด ์๋๋ผ WebAPI์์ ์ฒ๋ฆฌ๋ฅผ ํ๋ค. ์ด๋ฅผ ํตํด์ ์ฑ๊ธ์ค๋ ๋์ธ JS์์ ๋น๋๊ธฐ์ ์ธ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ฒ ๋๋ค. setInterval ์ง์ ํด.. 2024. 1. 16. [JavaScript] map ํจ์ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๊ณ ๊ณต๋ถํ๋ค๋ณด๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ๋ํด ๋ถ์กฑํ ์ ์ ๋ง์ด ๋๊ปด ์์ธํ ๊ณต๋ถํ๊ธฐ๋ก ๋ง์๋จน์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ๋ณด๋ค ์ ํํ๊ฒ ์๊ณ ์์ด์ผ ๋ฆฌ์กํธ๋ฅผ ํ๋๋ฐ๋ ์จ์ ํ ๋ด๊ฒ์ผ๋ก ๋ง๋ค ์ ์๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ ๊ฒ ์ฝ๋์์ ๋ด๊ฐ ์์ฃผ ์ฌ์ฉํ๋ ํจ์๋ค ์์ฃผ๋ก ์์ฑํด๋ณด๋ ค๊ณ ํ๋ค. ์ค๋์ mapํจ์์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํ๋ค. ์ด ๊ธ์ MDN ๊ณผ ์ ๋ก์ด๋์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์ ์์ฑํ์์ต๋๋ค. map ํจ์ ๋ฐฐ์ด.map((์์, ์ธ๋ฑ์ค, ๋ฐฐ์ด) => { return ์์ }); arr.map(callback(currentValue[, index[, array]])[, thisArg]) mapํจ์๋ ์์๊ฐ์ ๊ตฌ๋ฌธ์ ๊ฐ์ง๊ณ ์๋ค. ๋๊ฐ์ง ๊ตฌ๋ฌธํํ๋ฐฉ๋ฒ์ ๋๋ ์๋์ ํํ๋ณด๋ค๋ ์์ ํํ์ด ๋ ์๋ฟ์๋ ๊ฒ ๊ฐ๋ค. ๋ฐฐ์ด .. 2021. 2. 1. [JavaScript] filter() ๐๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ๐์ ๊ณต๋ถํ๋ฉด์ ์ปดํฌ๋ํธ์ ๋ฐ๋ณต์ ๊ณต๋ถํ๋ฉด์ ๋ฐฐ์ด ๊ฐ์ฒด์ ๋ด์ฅํจ์๋ฅผ ๋ง์ด ์ฌ์ฉํ์๋๋ฐ, ์ด๋ฅผ ์ข ๋ ์์ธํ๊ฒ ์์๋ณด๊ณ ์ถ์๋ค. ๋ฆฌ๋ค๊ธฐ์์ filter()๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ์์ ๊ฐ ์์๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ์ ํํฐํจ์๋ฅผ ์ฌ์ฉํ๋ค. const onRemove = id => { const nextNames = name.filter(name => name.id !== id); setNames(nextNames); }; ์ด ํจ์๋ ์ ๋ ฅ๋ id๋ฅผ ๋ฐ์์ ๊ทธ id์ ๋ค๋ฅธ ์ฆ, ํด๋น๋ id๋ฅผ ์ ์ธํ ๋๋จธ์ง id์ ํด๋น๋๋ name๋ค์ ๋ชจ์๋์ ๋ฐฐ์ด์ด nextNames๊ฐ ๋๋๊ฒ์ด๋ค. ๊ทธ๋ฌ๊ณ ๋์ setNames(nextNames)๋ฅผ ํตํด์ names๊ฐ์ ์ ๋ฐ์ดํธํด์ฃผ๋๊ฒ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด, ์ฌ๊ธฐ์ fi.. 2021. 1. 24. [JavaScript] push() & concat() ์ค๋์ ๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ๋ค๊ฐ ๋ฏธ๋ค๋์๋ ๊ถ๊ธ์ฆ์ ํ์ด๋ณด์๋ค. ๐๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ๐์ 6์ฅ์์ ๋ด์ฅํจ์์ ๋ํ ์ธ๊ธ์ด ์์๋๋ฐ, ๊ฑฐ๊ธฐ์ concat, filter์ ๊ฐ์ ํจ์๊ฐ ์์๋ค. ๊ทธ๋ฐ๋ฐ concat ํจ์๋ฅผ ์ฐพ์๋ณด๋ค๋ณด๋ pushํจ์์ ๋น๊ต๊ฐ ๋ง์ด ๋๊ธธ๋ ๊ฐ์ด ๊ณต๋ถํด๋ณด์๋ค. ์ด ๋ ํจ์๋ค์ ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ ๋ ์ฌ์ฉ๋๋ค. ๊ทธ๋ผ ๊ทธ ์ฌ์ด์์ ๋ ํจ์์ ์ฐจ์ด๋ ๋ฌด์์ผ๊น? ๋จผ์ , push ํจ์๋ฅผ ์์๋ณด๊ณ , concatํจ์์ ๋ํด์ ์์๋ณด๊ฒ ๋ค. ์ ๋ ํจ์๋ฅผ ๊ฐ์ด ๋น๊ตํ๋๊ฒ์ธ๊ฐ? ๊ทธ ์ด์ ๋ ๋ ๊ฐ์ ๋ฐฐ์ด์ ํ๋์ ๋ฐฐ์ด๋ก ํฉ์น ๋, ์ผ์ด๋๋๋ฐ ํ๋์ ์์๋ฅผ ๋ฐ์ด๋ฃ๋ push ๋์ ์ concat์ ์ฌ์ฉํ๋ผ๊ณ ๋ ํจ์๋ฅผ ๊ฐ์ด ๋น๊ตํ๋ ๊ฒ์ด๋ค. ์ด ๊ธ์ MDN์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์๋ค. push() push๋ ๊ธฐ์กด.. 2021. 1. 20. ์ด์ 1 ๋ค์ ๋ฐ์ํ