JavaScript/Basic
.map() ๋ฉ์๋
map ๋ฉ์๋๋? ๋ฐฐ์ด ๋ด์ ๋ชจ๋ ์์ ๊ฐ๊ฐ์ ๋ํ์ฌ ์ฃผ์ด์ง callbackํจ์๋ฅผ ํธ์ถํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค. callback ํจ์๋ (undefined๋ ํฌํจํด์) ๋ฐฐ์ด ๊ฐ์ด ๋ค์ด์๋ ์ธ๋ฑ์ค์ ๋ํด์๋ง ํธ์ถ๋ฉ๋๋ค. ์ฆ, ๊ฐ์ด ์ญ์ ๋๊ฑฐ๋ ์์ง ๊ฐ์ด ํ ๋น/์ ์๋์ง ์์ ์ธ๋ฑ์ค์ ๋ํด์๋ ํธ์ถ๋์ง ์์ต๋๋ค. ๊ตฌ๋ฌธ arr.map(callback(currentValue[, index[, array]])[, thisArg]) ๋งค๊ฐ๋ณ์ callback ์๋ก์ด ๋ฐฐ์ด ์์๋ฅผ ์์ฑํ๋ ํจ์. ๋ค์ ์ธ ๊ฐ์ง ์ธ์๋ฅผ ๊ฐ์ง๋๋ค. currentValue = ์ฒ๋ฆฌํ ํ์ฌ ์์. index (Optional) = ์ฒ๋ฆฌํ ํ์ฌ ์์์ ์ธ๋ฑ์ค. array (Optional) = map()์ ํธ์ถํ ๋ฐฐ์ด. thisAr..
.includes() ๋ฉ์๋
.includes() ๋ฉ์๋๋? ๋ฐฐ์ด ๋๋ ๋ฌธ์์ด์ด ํน์ ์์๋ฅผ ํฌํจํ๊ณ ์๋์ง ํ๋ณํฉ๋๋ค. ๋งค๊ฐ๋ณ์ โ ๋ฐฐ์ด์ ๊ฒฝ์ฐ arr.includes(valueToFind) arr.includes(valueToFind, fromIndex) valueToFind ํ์ํ ์์์ ๋๋ค. *์ฐธ๊ณ : ๋ฌธ์๋ ๋ฌธ์์ด์ ๋น๊ตํ ๋, includes()๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. fromIndex ์ด ๋ฐฐ์ด์์ searchElement ๊ฒ์์ ์์ํ ์์น์ ๋๋ค. ์์ ๊ฐ์ array.length + fromIndex์ ์ธ๋ฑ์ค๋ฅผ asc๋ก ๊ฒ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 0์ ๋๋ค. โก๋ฌธ์์ด์ ๊ฒฝ์ฐ includes(searchString) includes(searchString, position) searchString ์ด ๋ฌธ์์ด์์ ์ฐพ์ ๋ค๋ฅธ ๋ฌธ์์ด..
.slice() ๋ฉ์๋
Slice ๋ฉ์๋๋? โ ๋ฐฐ์ด์ ๊ฒฝ์ฐ ์ด๋ค ๋ฐฐ์ด์ start ๋ถํฐ end ๊น์ง(end ๋ฏธํฌํจ) ๋ณต์ฌํ์ฌ ์๋ก์ด ๋ฐฐ์ด ๊ฐ์ฒด๋ก ๋ฐํํฉ๋๋ค. ์๋ณธ ๋ฐฐ์ด์ ๋ฐ๋์ง ์์ต๋๋ค. โก๋ฌธ์์ด์ ๊ฒฝ์ฐ ๋ฌธ์์ด์ ์น์ ์ ์ถ์ถํ์ฌ ์๋ ๋ฌธ์์ด์ ์์ ํ์ง ์๊ณ ์ ๋ฌธ์์ด๋ก ๋ฐํํฉ๋๋ค. Slice ๋ฉ์๋์ ๋งค๊ฐ๋ณ์ โ ๋ฐฐ์ด์ ๊ฒฝ์ฐ arr.slice() arr.slice(start) arr.slice(start, end) start ์ถ์ถ ์์์ ์ ๋ํ ์ธ๋ฑ์ค๋ฅผ ์๋ฏธํฉ๋๋ค. ์์ ์ธ๋ฑ์ค๋ ๋ฐฐ์ด์ ๋์์๋ถํฐ์ ๊ธธ์ด๋ฅผ ๋ํ๋ ๋๋ค. ์๋ฅผ ๋ค์ด, slice(-2) ๋ ๋ฐฐ์ด์์ ๋ง์ง๋ง ๋ ๊ฐ์ ์๋ฆฌ๋จผํธ๋ฅผ ์ถ์ถํฉ๋๋ค. start๊ฐ undefined์ธ ๊ฒฝ์ฐ์๋, 0๋ฒ ์ธ๋ฑ์ค๋ถํฐ slice ํฉ๋๋ค. start๊ฐ ๋ฐฐ์ด์ ๊ธธ์ด๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋, ๋น ๋ฐฐ์ด์..
๋ฐ๋ณต๋ฌธ
1. for๋ฌธ for ( ์ด๊ธฐํํ ๋ณ์๊ฐ; ์กฐ๊ฑด; ์ฆ๊ฐ ํ์ ) { ์ํํ ๋ช ๋ น } ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋ ๋๊น์ง ๋ช ๋ น์ ์คํํ๋ค. ↑ ์์ ์ค๋ช ๋ณ์ i ์ ์ธ ํ ๊ฐ์ 0์ด๋ผ ๋ฃ๊ณ , i๊ฐ 10๋ณด๋ค ์๋ค๋ ์กฐ๊ฑด์ ๊ฑด ํ, i๋ฅผ 1์ฉ ์ฆ๊ฐ์ํจ๋ค. ์ดํ i๊ฐ 9๊ฐ ๋ ๋๊น์ง ๋ช ๋ น์ ์คํํ ํ, ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋๋ฉด(i๊ฐ 10๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ง๋ฉด) ๋ช ๋ น์ ์คํํ์ง ์๋๋ค. *์ฃผ์ํ ์ for๋ฌธ ์์ ๋ณ์๋ ๋ฐ๋ณต๋ฌธ์ ์คํํ๋ฉด์ ๊ณ์ํด์ ๋ณ๊ฒฝ๋ ๊ฐ์ ์ ์ฅํ ๊ฒ์ด๋ฏ๋ก const๊ฐ ์๋ let์ ์ฌ์ฉํฉ๋๋ค. 2. While๋ฌธ while ( ์กฐ๊ฑด ) { ์ํํ ๋ช ๋ น } for๋ฌธ์ ๋ณ์์ ์ฆ๊ฐ ํ์๋ฅผ ๊ดํธ ๋ฐ๊นฅ์ผ๋ก ๋บ ํํ์ด๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋ ๋๊น์ง ๋ช ๋ น์ ์คํํ๋ค. 3. Do~While๋ฌธ do { ์ํํ ๋ช ๋ น ..
if ์กฐ๊ฑด๋ฌธ
if ์กฐ๊ฑด๋ฌธ์ด๋? ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅํ๋ ๊ตฌ๋ฌธ์ด๋ค. ์กฐ๊ฑด์ผ๋ก๋ ๋น๊ต ์ฐ์ฐ์ ๋๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ค. ์กฐ๊ฑด๋ฌธ์ ํํ if๋ฌธ ์กฐ๊ฑด์ด ์ฐธ์ด๋ผ๋ฉด ์ค๊ดํธ ์์ ์ฝ๋๋ฅผ ์คํํ๋ค. if~else๋ฌธ ์กฐ๊ฑด์ด true๋ฉด if๋ฌธ์, false๋ฉด else๋ฌธ ์คํํ๋ค. else if๋ฌธ ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด๋ฌธ์ ์์ฑํ ๋ ์ฌ์ฉํ๋ค. ์กฐ๊ฑด์ด true๋ฉด if๋ฌธ์, false๋ฉด else if๋ฌธ์ ์คํํ๋ค. ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด๋ฌธ์ ๊ฒ์ฌํ๋ฉด์ ํ๋ฒ์ด๋ผ๋ ์ฐธ์ด ๋์จ๋ค๋ฉด ๊ทธ ์ดํ์ ์กฐ๊ฑด๋ฌธ ์คํํ์ง ์๋๋ค. ์ค์ฒฉ if๋ฌธ if๋ฌธ ์์ ๋๋ค๋ฅธ if๋ฌธ์ ์ฝ์ ํ ๋ ์ฌ์ฉํ๋ค. ์ค์ฒฉ๋ if๋ฌธ์ ์์ if๋ฌธ์ด ์ฐธ์ผ ๋ ์คํ๋๋ค.
์ฐ์ฐ์ ์ ๋ฆฌ
โ ์ฐ์ ์ฐ์ฐ์ +, -, *, /, % ์ฌ์น์ฐ์ฐ ์ฐ์ฐ์์ด๋ค. ์ซ์๋ฟ๋ง ์๋๋ผ ๋ฌธ์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. + - * / % ๋ํ๊ธฐ ๋นผ๊ธฐ ๊ณฑํ๊ธฐ ๋๋๊ธฐ ๋๋์ ์ ๋๋จธ์ง ๊ฐ์ ๋์ถ โป ๋ํ๊ธฐ ์ฐ์ฐ์๋ ๋ฌธ์์ด์ ๊ฒฝ์ฐ ๋ง์ ์ด ์๋ ์ฐ๊ฒฐ์ ๊ฐ๋ ์ผ๋ก ์ฌ์ฉ๋๋ค. ์) "20" + "10" = 2010 โก์ฆ๊ฐ ์ฐ์ฐ์ ++, -- ++ -- 1์ฉ ์ฆ๊ฐ 1์ฉ ๊ฐ์ โป ์ฐ์ฐ์์ ์์น(์์ด๋ ๋ค๋)์ ๋ฐ๋ผ ์๋ฏธ๊ฐ ๋ฌ๋ผ์ง๋ฏ๋ก ๊ตฌ๋ถ์ ์ฃผ์ํ์. ์์ ๋ถ์์ ๊ฒฝ์ฐ → ์ฆ๊ฐ/๊ฐ์ํ ์ํ๋ก ํ๋ฉด์ ์ถ๋ ฅ๋๋ค. ๋ค์ ๋ถ์์ ๊ฒฝ์ฐ → ํ๋ฉด์ ์ถ๋ ฅ๋ ํ ์ฆ๊ฐ/๊ฐ์ํ๋ค. ์ฆ, ํ๋ฉด์ ์ถ๋ ฅ๋ ๊ฐ๊ณผ ์ต์ข ๊ฐ์ด ๋ค๋ฅด๋ค๋ ์๋ฏธ. var num = 10; // ์ฆ๊ฐ ์ฐ์ฐ์๋ฅผ ์์ ๋ถ์์ ๋ console.log(++num); // num+1 ํ num ์ถ๋ ฅ..
์ํ ์ฐ์ฐ ๋ฉ์๋ Math.
Math์ ์ํ ์ฐ์ฐ ๋ฉ์๋ Math.abs(์ซ์) = ์ ๋๊ฐ Math.ceil(์ซ์) = ์ฌ๋ฆผ Math.floor(์ซ์) = ๋ด๋ฆผ Math.random( ) = 0~1 ์ฌ์ด์ ์์์ ์ซ์ ์ถ๋ ฅ Math.abs(-3) // 3 Math.ceil(0.3) // 1 Math.floor(10.9) // 10 Math.random() // ์์์ ์ซ์ Math ๋ฉ์๋ ํ์ฉ ์์ - ์ฃผ์ฌ์ ๊ฒ์
๋ฐ์ดํฐ ํ์ 6 - Undefined, Null
Undefined ๋ณ์๊ฐ ๋ง๋ค์ด์ก์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ์ง ์์ ์ํ. ์ฆ, ์ ์๋์ง ์์. const unde; // undefined Null = nothing ๊ฐ๋ฐ์๊ฐ ์์๋ก ๋ณ์ ์์ ๋น ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ ์ํ (๋น ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ ๊ฒ) const empty = null; // null