์์ ์ ํ๋ฆฌ์จ๋ณด๋ฉ์ ํตํด์ ๋ณ์ ์ ๋ง๋ค์ด๋๊ณ ... ๊น๋จน์ง ์๊ธฐ ์ํด์ ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํด๋ณธ๋~์ฌ์ค ๊น๋จน์ด์ ์ง๊ธ ์์ฑํจ... ใ ๋ค์ฏ ๊ฐ์ ๋ณ์ ๊ทธ๋ฆฌ๊ธฐ ์ํด์ const starArr = \[1, 2, 3, 4, 5]; ๋ฐฐ์ด์ ์์ฑํ ํ๋ฐ๋ณตํด์ ๋ณ์ ์ถ๋ ฅํด์ฃผ
์ฐ๋ฆฌ๋ ํํ ๋ก๊ทธ์ธ์ด๋ ์ด๋ค ํ์ด์ง๋ฅผ ๋ง๋ค ๋ ์ ๊ฐ์ด๋ฐ์ ์ฃผ๋ก ์์นํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค ์ด๋ ๋๋ grid๋ flex๋ฅผ ์ด์ฉํ์ฌ ํ๋ฉด ์ค์์ ๋ฐฐ์นํ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.
surge๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐํฌ๋ฅผ ํ๋ค๋ฉด, github์ ์ฝ๋๋ฅผ ์ฌ๋ฆฌ์ง ์๊ณ ๋ฐฐํฌ๋ฅผ ๋น ๋ฅด๊ฒ ํ ์ ์๋ค. ๋๋ ๊ธฐ์ ์์ ์๊ตฌํ๋ ๊ณผ์ ๋ฅผ ์จ๋ผ์ธ ์์ ์ฌ๋ฆฌ์ง ์๋๋ก ๋ช ์๋์ด์์ ๋ ์ฃผ๋ก surge๋ฅผ ์ฌ์ฉํ๋ค! React App์ ์ด์ฉํ์ฌ ๊ฐ๋ฐ ํ ๋ค ๋ฐฐํฌ๋ฅผ ํ๊ธฐ ์ํด์
์๋น์ค๋ฅผ ์ด์ฉํ๋ค๋ณด๋ฉด ํ๋ฉด์ด ๋๋ฌด ๋ฆ๊ฒ ๋ก๋ฉ๋๋ฉด ํ๊ฐ๋๋ค...๐ฅ๐ฅ๐ฅ ๋๋ถ๋ถ์ ์ฌ์ฉ์๋ ํ๋ฉด์ด ๋๋ฌด ๋ฆ๊ฒ ๋ก๋ฉ๋๋ฉด ์ด๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ๋ชปํ๊ณ ๋ ๋๊ฐ๋ฒ๋ฆฐ๋ค... ์ด๋ ์์ต์ฑ ์ฐฝ์ถ๋ก ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ์ด์ฌํ ์ฝ๋ฉ์ ํด์ ๊ฐ๋ฐ์ ํ๋คํ๋๋ผ๋ ์ฌ์ฉ์๋ค์ด ๋ ๋๋ฉด... ๋ฌผ๊ฑฐํ
๊ฐ๋น์ง ์ปฌ๋ ์ ์ด๋? ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ๋ฒ์ญํด๋ณด๋ฉด ์ฐ๋ ๊ธฐ ๋ชจ์์ง์ด๋ค! ์ด๋ ๋์ด์ ์ฌ์ฉ๋์ด์ง์ง ์๋ ๋ฉ๋ชจ๋ฆฌ์ธ๋ฐ ์์ง์ ๋ฐฉ์ถ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. ๊ทธ๋ฌ๋ฉด ์ฌ๊ธฐ์ ์ฌ์ฉ์ ๋ฌด์์ด๊ณ , ๋ฐฉ์ถ์ ๋ฌด์์ผ๊น? ํด๋น ๋ด์ฉ์ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค! ๋ฉ๋ชจ๋ฆฌ์ lifecycle์ All
์ด ์ค๋ฅ๋ mapํจ์๋ฅผ ์ด์ฉํด์ ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ์์ ์ปดํฌ๋ํธ๋ก props๋ฅผ ๋ณด๋ผ ๋ ๋๋ ์ค๋ฅ์ด๋ค.์ฆ, \[{...}, {...}, {...}] ํด๋น๋๋ ๋ฐ์ดํฐ๋ฅผ mapํจ์๋ฅผ ์ด์ฉํด์ {...} ๊ฐ์ฒด ํ์์ผ๋ก props๋ฅผ ๋ณด๋ผ ๋ ํ์ ์ค๋ฅ์ ํด๋น๋๋ ๋ด์ฉ์ด๋ค.๋ถ๋ชจ
์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ ์ธ์๋ ํจ์๋ฅผ ์ด๋์ ์ด๋ป๊ฒ ํธ์ถํ๋๋์ ๊ด๊ณ ์์ด this๊ฐ ๋ฌด์์ธ์ง ์ง์ ํ ์ ์๋ค. ๊ทธ๋ผ ์ฌ๊ธฐ์ this๋ ์ ํํ ๋ญ๋ฐ? ๋ผ๊ณ ์๋ฌธ์ด ๋ค ๊ฒ์ด๋ค.this๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ค๋ฅธ ์ธ์ด์ ๋น๊ตํ์ ๋ ์กฐ๊ธ ๋ค๋ฅด๊ฒ ๋์ํ๋ค. ๋๋ถ๋ถ์ ๊ฒฝ
์ผ์ ์๊ฐ์ด ์ง๋ ํ ํจ์๋ฅผ ์คํ์ด ์ฝ๋๋ 3์ด ํ์ ๋ก๊ทธ๋ฅผ ์ฐ์ด์ค๋ค. setTimeOutํจ์๋ ๋ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ๋๋ค. 1๋ฒ์งธ์๋ ์ผ์ ์๊ฐ์ด ์ง๋ ํ์ ์คํํด์ฃผ๋ ํจ์์ด๊ณ , ๋๋ฒ์งธ๋ ์๊ฐ์ด๋ค. 3000์ 3s๋ฅผ ์๋ฏธํ๋ค. ๋ํ ์ด๋ ๊ฒ ์ฌ์ฉํ ์ ์๋ค.๋ง์ฝ ์ธ์๊ฐ
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ดํ์ ํ๊ฒฝ(Lexical Environment)์ ๊ฐ๋๋ค.์ดํ์ ํ๊ฒฝ์ด๋...?=> ๊ฐ๋จํ๊ฒ ์๊ฐํ๋ฉด, ์ ์ ์ธ(๋ณํ์ง ์๋) ํ๊ฒฝ์ด๋ค!์ด๋ฌํ ์ฝ๋๊ฐ ์์ ๋ ์ด๋ป๊ฒ ๋์ํ๋ ์ง ์์๋ณด์!์ฝ๋๊ฐ ์คํ๋๋ฉด ์คํฌ๋ฆฝํธ์์ ์ ์ธํ ๋ณ์๋ค์ด Lexical ํ๊ฒฝ์
๋๋จธ์ง ๋งค๊ฐ๋ณ์์ ์ ๊ฐ ๊ตฌ๋ฌธ์ ... ๋ก ์ฌ์ฉ๋์ด์ง๋ค.๊ทธ๋ ๋ค๋ฉด ์ด ๋์ ์ฐจ์ด์ ์ ๋ฌด์์ผ๊น?๋๋จธ์ง ๋งค๊ฐ๋ณ์๋ ํจ์์ ์ธ์ ์ ๋ฌ ์์ ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์ ๋ฌ๋ ์ธ์๋ค์ ๋ชฉ๋ก์ ๋ฐฐ์ด๋ก ์์ถํ ๋ ์ฌ์ฉ๋์ด์ง๋ค. ์ ๊ฐ ๊ตฌ๋ฌธ์ ๋ญ์ณ์๋ ์ฌ๋ฌ ๊ฐ์ ๊ฐ๋ค์ ๊ฐ๋ณ์ ์ธ ๊ฐ๋ค์ ๋ชฉ๋ก์ผ๋ก
๊ตฌ์กฐ ๋ถํด ํ ๋น ๊ตฌ๋ฌธ์ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์ ์์ฑ์ ๋ถํดํด์ ๊ทธ ๊ฐ์ ๋ณ์์ ๋ด์ ์ ์๋๋ก ํ๋ ํํ์๋ง์ฝ ํด๋นํ๋ ๊ฐ์ด ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?undefined๊ฐ ๋ค์ด๊ฐ๋ค.a์๋ 1์ด ๋ค์ด๊ฐ๊ณ , b์๋ 2๊ฐ ๋ค์ด๊ฐ์ง๋ง, c์๋ undefined๊ฐ ๋ค์ด๊ฐ๋ค!์ด ๋ ๊ธฐ๋ณธ๊ฐ์ ์ฃผ
๋ฐฐ์ด์ ๋ํ์ ์ธ ๋ฉ์๋๋ค์๋ push(), pop(), unshift() shift()๊ฐ ์๋ค. ์ด ์ธ์ ๋ฉ์๋๋ค์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์ง ์์๋ณด์!arr.splice(n,m)๋ n๋ฒ์งธ ์์๋ถํฐ m๊ฐ๋ฅผ ์ง์ฐ๋ผ๋ ์๋ฏธ๋ก ์ฌ์ฉ๋์ด์ง๋ค. ์ธ๋ฑ์ค 1๋ถํฐ 2๊ฐ๋ฅผ ์ง์ฐ๊ฒ ๋๋ค๋ฉด \
๋ฌธ์์ด์๋ ์์๋ฐ์ดํ('') , ํฐ๋ฐ์ดํ("") ๋ฐฑํฑ๊ธฐํธ(\`\`) 3๊ฐ์ง๊ฐ ์๋ค.์๋ฅผ ๋ค์ด html ์ฝ๋ ๊ฒฝ์ฐ์๋ ์์ ๋ฐ์ดํ๋ก ๊ฐ์ธ๋ ๊ฒ ํธ๋ฆฌํ๋ค. ๋ฐ๋ฉด์ ์์ด๋ก ๋ ๋ฌธ์ฅ์ ํฐ ๋ฐ์ดํ๋ก ๊ฐ์ธ๋ ๊ฒ ํธ๋ฆฌํ๋ค.๋ฐฑํฑ์ ๋ฌ๋ฌ$์ ์ค๊ดํธ{}๋ฅผ ์ด์ฉํด ๋ณ์๋ฅผ ํํํ๊ฑฐ๋ ํํ์
์ฐ๋ฆฌ๊ฐ ์ค์ํ์์ ์ฌ์ฉํ๊ณ ์๋ ์ซ์๋ 10์ง์์ด๋ค. ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด 2์ง์๋ ์์ํํ์ ์ํด 16์ง์๊ฐ ํ์ํ ๋๊ฐ ์๋ค. ์ด ๋ 10์ง์๋ฅผ 2์ง์๋ 16์ง์๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์num์ 10์ด๋ผ๋ ๊ฐ์ด ๋ค์ด๊ฐ์๊ณ , ๋ณ์๋ช .toString()์ ์คํํด๋ณด๋ฉด ์ด
๊ฐ์ฒด์ Property ํค๋ ๋ฌธ์ํ์ผ๋ก ์ด๋ฃจ์ด์ ธ์๋ค!์ซ์ํ์ด๋ booleanํ์ผ๋ก ๋ง๋ค์ด๋ Object.keys(obj)๋ฅผ ํตํด์ \["1", "false"]๋ฌธ์ํ์ผ๋ก ๋ฐํ๋๋ ๊ฒ์ ์ ์ ์๋ค. ์ค์ ๋ก ์ ๊ทผํ ๋์๋ ๋ฌธ์ '1'์ด๋ 'false'๋ก ์ ๊ทผํ ์ ์๋ค.์ด
a๋ผ๋ ๋ณ์๊ฐ ์๊ณ , user๋ผ๋ ๊ฐ์ฒด๊ฐ ์๋ค. ์ฌ๊ธฐ์ ๊ฐ์ฒด์ age๋ผ๋ ํค ๋์ ์ \[a]๋ก ์ฌ์ฉํด๋ ๋์ผํ๋ค.์ด๋ ๊ฒ \[] ๋๊ดํธ๋ก ๋ฌถ์ด์ฃผ๋ฉด a๋ผ๋ ๋ฌธ์์ด์ด ์๋๋ผ ๋ณ์ a์ ํ ๋น๋ ๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค. ์ด๋ฅผ Computed property(๊ณ์ฐ๋ ํ๋กํผํฐ)๋ผ๊ณ ๋ถ
ํ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋ด๊ฐ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ์ด๋ฌํ ์๋ฆผ์ด ๋จ๋ ๊ฒ ์ด๋ค! ์ด์ฌํ ์ฐพ์๋ณธ ๋ค์ ํด๊ฒฐ ํ ํ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ๊ณ ์ ํ๋ค! ์ด ๊ธ์ ๋ฒ์ญํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. `์ข ์์ฑ์์ ์ ์ฌ์ ์ธ ๋ณด์ ์ทจ์ฝ์ฑ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค.` ์ฆ, package-lock.json์์ ์ค๋ฅ
์ฐ๋ฆฌ๋ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ๋ ํ์์ ์ ๋ณด, ์ํ์ ์ ๋ณด๋ฑ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ๋ฅผ ๋ง๋ค์ด์ผ ํ ๋๊ฐ ์๋ค! ์ด๋ฌํ ๊ฒฝ์ฐ ์์ฑ์ ํจ์๋ class๋ฅผ ์ด์ฉํ๋ฉด ์ข๋ค! es6์ class๊ฐ ์ถ๊ฐ๋์์ผ๋ฏ๋ก ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ข๋ค๊ณ ํ๋น!์์ฑ์ ํจ์๋ ๋ณดํต ์ฒซ ๊ธ์๋ ๋
ํธ์ด์คํ : ์ค์ฝํ ๋ด๋ถ ์ด๋์๋ ๋ณ์ ์ ์ธ์ ์ต์์์ ์ ์ธ๋ ๊ฒ์ฒ๋ผ ํ๋ var๋ ์ค๋ณต ์ ์ธ์ด ๊ฐ๋ฅํ๋ค ์ฆ, ํ๋ฒ ์ ์ธ๋ ๋ณ์๋ ๋ค์ ์ ์ธํ ์ ์๋ค. ๋ํ ์ ์ธ๋๊ธฐ ์ ์ ์ฌ์ฉํ ์ ์๋ค. ์ ์ธ์ ํธ์ด์คํ ๋์ด์ง์ง๋ง ํ ๋น์ ํธ์ด์คํ ๋์ด์ง์ง ์๋๋ค. ์ฆ, name์ด๋ผ๋
Intersection Observer API๋? > ์ฝ๊ฒ ๋งํด์ ๋ฌดํ์คํฌ๋กค์ ํ ๋ ํ์ํ ๋ด์ฅ ๋ธ๋ผ์ฐ์ api์ด๋ค. MDN์์๋ IntersectionObserver(๊ต์ฐจ ๊ด์ฐฐ์ API)๋ ํ๊ฒ ์๋ ๋ฉํธ์ ํ๊ฒ์ ๋ถ๋ชจ ํน์ ์์ ์๋ ๋ฉํธ์ ๋ทฐํฌํธ๊ฐ ๊ต์ฐจ๋๋ ๋ถ๋ถ์