์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- useRef
- ๋ฐ๋ธ์ฝ์ค
- ๋ธ๋ก๊ทธ
- useEffect
- CSS
- Props
- REACT
- ํ๋ก ํธ์๋
- history api
- Flex
- ์ฝ๋ฉํ ์คํธ
- position
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- fetch API
- Gatsby
- ์๋ฐ์คํฌ๋ฆฝํธ
- float
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- Today
- Total
Daehyunii's Dev-blog
[๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ] WIL-3 (7.11 ~ 7.17) ๋ณธ๋ฌธ
[๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ] WIL-3 (7.11 ~ 7.17)
Daehyunii 2022. 7. 18. 14:14์ด๋ฒ์ฃผ๋ ๋น ๋ฅด๊ฒ ๊ณต๋ถ๋ฅผ ํ๊ธฐ ๋ณด๋ค๋ ์ ํํ ๊ฐ๋ ์ ์์งํ๊ธฐ ์ํด์ ๊ณต๋ถ๋ฅผ ํ๋ค. ์ด๋ฒ์ฃผ์ ๊ณต๋ถํ ๋ด์ฉ์ ํจ์์ ์ผ๊ธ ๊ฐ์ฒด, ํ๋กํ ํ์ , strict mode์ ๋ํด์ ๊ณต๋ถํ๋ค. strict mode์ ๋ํด์๋ ๋จ์ํ ๊ท์น๊ณผ ๊ฐ์ ๋๋์ด๊ธฐ์ ์๊ฐ์ ๋ค์ฌ ๋ง์ ๋ด์ฉ์ ๋ณด์ง๋ ์์์ง๋ง, ํจ์์ ์ผ๊ธ๊ฐ์ฒด ๊ทธ๋ฆฌ๊ณ ์ค์ฝํ์ ๋ํด์๋ ๋ง์ ์๊ฐ์ ํฌ์ํด์ ์ฒ์ฒํ ์ฝ๊ณ ๋ ์ฝ์ผ๋ฉด์ ์ดํดํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค.
ํจ์๋ ์ผ๊ธ ๊ฐ์ฒด๋ค. ์ผ๊ธ ๊ฐ์ฒด๋, ๋ช ๊ฐ์ง ์กฐ๊ฑด์ด ํ์ํ๋ฐ ๋ฌด๋ช ์ ๋ฆฌํฐ๋ด๋ก ์์ฑํ ์ ์์ด์ผ ํ๋ฉฐ, ๋ณ์๋ ๊ฐ์ฒด ๋ฐฐ์ด์ ์ ์ฅํ ์๋ ์๊ณ , ํจ์์ ๋งค๊ฐ๋ณ์์๋ ์ ๋ฌํ ์ ์์ผ๋ฉฐ ํจ์์ ๋ฐํ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฒด๋ฅผ ์ผ๊ธ ๊ฐ์ฒด๋ผ๊ณ ํ๋๋ฐ ํจ์๋ ์ด ๋ชจ๋ ์๊ฑด์ ์ถฉ์กฑํ๊ธฐ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์์ด์ ์ผ๊ธ ๊ฐ์ฒด์ด๋ค. ์ฆ ํจ์๋ ํธ์ถ๋๋ ๋ฐฉ์์ ๋ฐ๋ผ ์์ฑ์ ํจ์, ๋ฉ์๋, ์ผ๋ฐ ํจ์๋ก์ ๊ธฐ๋ฅ์ ํ๊ธฐ๋ ํ๊ณ ๋ ๊ฐ์ฒด๋ก์ ๊ฐ์ฒด ์ฆ, ๊ฐ์ด ๋ค์ด๊ฐ ์ ์๋ ์๋ฆฌ์ ๋ค์ด๊ฐ ์ ์๋ค. ๋ ํจ์๋ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง ์ ์๊ณ , ํจ์๋ง์ ํ๋กํผํฐ๋ฅผ ๊ฐ๋๋ค.
arguments, caller, name, length, prototype ํ๋กํผํฐ๋ฅผ ๊ฐ๋๋ฐ, ๊ทธ ์ค์์๋ ๊ฐ์ฅ ์ค์ํ ํ๋กํผํฐ๊ฐ ๋ฐ๋ก prototype ํ๋กํผํฐ์ด๋ค. ์ด prototype์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ ์ด ๊ฐ์ฒด๋ฅผ ํตํด์ prototype๊ธฐ๋ฐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ง๋ค์ด ๋ด๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฐ์ฅ ์ค์ํ ์์์ prototype๊ฐ์ฒด๋ฅผ ํตํด์ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ํ ๊ฐ์ง ์ค์ํ๊ฒ์ prototypeํ๋กํผํฐ๋ constructor์ธ ํจ์๋ง ํจ์๊ฐ ์ ์๊ฐ ํ๊ฐ๋ ๋ ์๊ธด๋ค๋๊ฒ์ ๊ผญ ์์์ผ ํ๋ค.(ES6 ๋ฉ์๋ ์ถ์ฝ, ํ์ดํ ํจ์๋ non-constructor์ด๋ค.)
์ด๋ ๊ฒ ํจ์๊ฐ ์ผ๊ธ ๊ฐ์ฒด์ด๊ณ , constructor์ธ ํจ์๋ prototypeํ๋กํผํฐ๋ฅผ ๊ฐ๋ค๋๋ค๋๊ฒ์ ๋ฐฐ์๊ณผ ๋์์ ๋ฐ๋ก ํ๋กํ ํ์ ์ ๋ฐฐ์ ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด ๊ธฐ๋ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด๋ฃจ๊ณ ์๋ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด๋ค. ๋ชจ๋ ๊ฐ์ฒด๋ ํ๋กํ ํ์ ๋ด๋ถ ์ฌ๋กฏ์ ๊ฐ๊ณ , ์ด ํ๋กํ ํ์ ๋ด๋ถ ์ฌ๋กฏ์ด ๊ฐ๋ฆฌํค๋๊ฒ์ด ํด๋น ๊ฐ์ฒด์ ํ๋กํ ํ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์ด ํด๋น ํ๋กํ ํ์ ๊ฐ์ฒด๋ ์์ฑ์ ํจ์์ ํ๋กํ ํ์ ํ๋กํผํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด์ด๋ฉฐ, ํ๋กํ ํ์ ๊ฐ์ฒด๋ constructor๋ผ๋ ํ๋กํผํฐ๋ฅผ ๊ฐ๊ณ constructor ํ๋กํผํฐ๋ ํด๋น ํ๋กํ ํ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ ์์ฑ์ ํจ์๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์ฆ, ์์ฑ์ ํจ์์ ํ๋กํ ํ์ ๊ณผ ์์ฑ์ ํจ์๊ฐ ๋ง๋ค์ด๋ธ ์ธ์คํด์ค๋ ํ ๋ชธ์ด๋ค. ๊ฐ์ฒด ๋ฆฌํฐ๋ด๋ก ๋ง๋ ๊ฐ์ฒด๋ ์ด๋จ๊น? ๊ฐ์ฒด๋ฆฌํฐ๋ด๋ก ๋ง๋ ๊ฐ์ฒด ๋ํ ๊ฐ์ฒด์ด๊ธฐ์ ํ๋กํ ํ์ ๋ด๋ถ์ฌ๋กฏ์ ๊ฐ์ง๊ณ constructorํ๋กํผํฐ๋ฅผ ํ๋กํผํฐ ๊ฐ์ฒด๋ก๋ถํฐ ์์๋ฐ์ ์ ๊ทผํด๋ณด๋ฉด ๋ฐฐ์ด๋ฆฌํฐ๋ด์ ํ๋กํ ํ์ constructor๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฒ์ Array ์์ฑ์ ํจ์๋ฅผ ๊ฐ๋ฆฌํค๊ณ , ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ํ๋กํ ํ์ constructor๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฒ์ Object ์์ฑ์ ํจ์๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ค. ๊ทธ๋ฆฌ๊ณ Array ์์ฑ์ ํจ์๋ ๊ฐ์ฒด์ด๊ธฐ์ ํ๋กํ ํ์ ๋ด๋ถ์ฌ๋กฏ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ Object์์ฑ์ ํจ์๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ค. ์ฆ ํ๋กํ ํ์ ๊ณผ ์์ฑ์ ํจ์๋ ๋จ๋ ์ผ๋ก ์กด์ฌํ ์ ์๊ณ ์ธ์ ๋ ์์ผ๋ก ์กด์ฌํ๋ค. ์ด๋ ๊ฒ ์ฐ๊ฒฐ๋ ํ๋กํ ํ์ ์ ์ผ์ปซ๋ ๋ง์ด ํ๋กํ ํ์ ์ฒด์ธ์ด๋ผ๊ณ ๋งํ๋ค. ํ๋กํ ํ์ ์ฒด์ธ์ ํตํด ์์์ ๋ฐ๊ณ , ๋ถ๋ชจ ๊ฐ์ฒด์ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ํ์ฉํ ์ ์๋ค. ํ ๊ฐ์ง ์ฃผ์ํด์ผ ํ ์ ์ ํ๋กํ ํ์ ์ฒด์ธ์ ์ต์์์ ์์นํ๋ ๊ฐ์ฒด๋ ์ธ์ ๋ Object.prototype์ด๋ผ๋ ๊ฒ์ด๋ค. ์ฆ ํ๋กํ ํ์ ์ฒด์ธ์ ์ข ์ ์ด๋ค.
์ด ์ฒ๋ผ ํ๋กํ ํ์ ์ ์ ๋ง ์ค์ํ ์ญํ ์ ํ๊ณ ์๋ค. ์์ ๋ด์ฉ์ ์ดํดํ๊ธฐ๊น์ง ์ ๋ง ๋ง์ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค. ํ๋กํ ํ์ , ํ๋กํ ํ์ ๊ฐ์ฒด, ํ๋กํ ํ์ ์ฒด์ธ ,ํ๋กํ ํ์ ํ๋กํผํฐ ๋ฑ๋ฑ ์์ ํ ๋ค๋ฅธ ์๋ฏธ์ด์ง๋ง ์ฝ์๋๋ ์ต์ํ์ง ์์ ๋จ์ด๋ค์ ์ฐ์์ด๋ผ ์กฐ๊ธ๋ง ์ง์คํ์ง ์์ผ๋ฉด ์ดํดํ๊ธฐ ๊ต์ฅํ ์ด๋ ค์ ๋ค. ํ์ง๋ง ์ฒ์๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์ฝ๋ค๋ณด๋ ์ด๋ ์๊ฐ ํ๋กํ ํ์ ๊ธฐ๋ฐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๋ ์๋ฏธ๋ฅผ ์ ์ ์์๋ค. ํ ์ธ์ด์ ๋น๊ตํด์ ์ด๊ฒ์ด ์ผ๋ง๋ ํจ์จ์ ์ด๊ณ ์ข์ ๋ฐฉ๋ฒ์ธ์ง์ ๋ํด์ ๋น๊ตํ ์ ๋์ ์ง์ ์์ค์ ๊ฐ์ถ์ง๋ ๋ชปํ์ง๋ง, ์์์ ํตํด์ ์์ ๊ฐ์ฒด์ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ด์ฉํ ์ ์๋ค๋๊ฒ๋ง ํด๋ ๋งค๋ฒ ํด๋น ๊ฐ์ฒด์ ์ง์ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ ์ํ์ง ์์๋ ๋๋ค๋๊ฒ ํ๋๋ง์ผ๋ก๋ ์ ๋ง ์์ฒญ๋ ์ด์ ์ด ์์๊ฒ์ด๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ์์ฑ์ ํจ์๋ฅผ ํตํด ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋๋ ๊ฐ์ฒด๋ค๋ง๋ค ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋๋ค๋ฉด ์์ฑ์ ํจ์์ prototype ํ๋กํผํฐ์ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๋ฉด ๋จ ๋ช ์ค์ ์ฝ๋๋ง ์ถ๊ฐํด๋ ํด๋น ์์ฑ์ ํจ์๋ฅผ ํตํด ๋ง๋ ๋ชจ๋ ์ธ์คํด์ค๋ ๋ฐ๋ก ๊ตฌํํ์ง ์์๋ ํ๋กํ ํ์ ์ ๋ฉ์๋์ ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ ๋ง์ด๋ค. ์ด๋ฒ์ฃผ์ ๊ณต๋ถํ ๋ด์ฉ์ ํ ๋๋ก ์กฐ๊ธ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด์ ๋ํด์ ์ดํดํ ์ ์๊ฒ ๋ ๊ฒ ๊ฐ์ ๋งค์ฐ ๋ฟ๋ฏํ๋ค. ใ
18์ฅ ํจ์์ ์ผ๊ธ ๊ฐ์ฒด
18.1 ์ผ๊ธ ๊ฐ์ฒด <์ผ๊ธ ๊ฐ์ฒด์ ์กฐ๊ฑด> 1. ๋ฌด๋ช ์ ๋ฆฌํฐ๋กค๋ก ์์ฑํ ์ ์๋ค.(๋ฐํ์์ ์์ฑ์ด ๊ฐ๋ฅํ๋ค.) 2. ๋ณ์๋ ์๋ฃ๊ตฌ์กฐ(๊ฐ์ฒด, ๋ฐฐ์ด ๋ฑ)์ ์ ์ฅํ ์ ์๋ค. 3. ํจ์์ ๋งค๊ฐ๋ณ์์ ์ ๋ฌํ ์ ์๋ค. 4.
pinetree93.tistory.com
19์ฅ ํ๋กํ ํ์
์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋กํ ํ์ ๊ธฐ๋ฐ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด ๊ธฐ๋ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด๋ฃจ๊ณ ์๋ ๊ฑฐ์ '๋ชจ๋ ๊ฒ'์ด ๊ฐ์ฒด๋ค.(์์ ํ์ ์ ๊ฐ ์ ์ธ
pinetree93.tistory.com
20์ฅ strict mode
20.1 strict mode๋? ์ฐ์ strict mode๋ฅผ ์๊ธฐ์ํด์๋ ์๋ฌต์ ์ ์ญ์ด๋ผ๋ ๊ฐ๋ ์ ์์์ผ ํ ํ์๊ฐ ์๋ค. ์๋ฌต์ ์ ์ญ์ด๋ ๋ณ์๋ก ์ ์ธํ์ง ์์ ์๋ณ์์ ๊ฐ์ ํ ๋นํ๋ ๊ฒฝ์ฐ ReferenceError๊ฐ ๋ฐ์ํ์ง
pinetree93.tistory.com
'๐ 2022. WIL > July, August' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ ๊ธฐ์ด๊ฐ์] WIL-7 (8.08 ~ 8.14) (0) | 2022.08.16 |
---|---|
[์๊ณ ๋ฆฌ์ฆ ๊ธฐ์ด๊ฐ์] WIL-6 (8.01 ~ 8.07) (0) | 2022.08.07 |
[๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ] WIL-5 (7.25 ~ 7.31) ๋ชจ๋์๋ฐ 1ํ๋ ์๋ฃ (0) | 2022.07.31 |
[๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ] WIL-4 (7.18 ~ 7.24) (0) | 2022.07.24 |
[๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ] WIL-2 (7.4 ~ 7.10) (0) | 2022.07.10 |