* ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์์ ์๊ฐ
์คํฌ๋ฆฝํธ ์ธ์ด์ธ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ด์ฐฝ๊ธฐ์๋ ์น ํ์ด์ง ์ ์์์ ๋ณด์กฐ์ ์ธ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ฃผ๋ก ์ฌ์ฉ๋์๋ค. ํ์ง๋ง ์น์ด ๋ฐ์ ํ๋ฉด์, ์๋ฒ์์ ๋ด๋นํ๋ ์ญํ ๋ค์ ์๋น ๋ถ๋ถ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ด๋นํ ์ ์๊ฒ ๋์๊ณ ์ด๋ฌํ ๋ณํ์ ๋ฐ๋ผ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ค์์ฑ์ด ์ปค์ง๊ณ ์๋ค. ํนํ Node.js์ ๋ฑ์ฅ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ ์๋ฒ ๊ฐ๋ฐ์ด ํ๋ฐํด์ง๊ณ ์๋ค. ์ด๋ฌํ ๋ณํ์ ๋ฐ๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ์ฌ ์ธ๊ณ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ธ์ด ์ค ํ๋๊ฐ ๋์๋ค. ํนํ ์น ๊ฐ๋ฐ์๋ค์ jQuery๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์๋ฐ์คํฌ๋ฆฝํธ ํต์ฌ ๊ธฐ๋ฅ์ ๋์ฑ ๊ด์ฌ์ ๊ฐ์ง๊ณ ์๋ค.
=> ๊ธฐ์กด์ ์ฃผ๋ก ํด๋ผ์ด์ธํธ ์ธ์ด๋ก ์ฌ์ฉ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์๋ฒ ๊ฐ๋ฐ์๋ ์ด์ฉ๋จ์ผ๋ก์จ ๊ทธ์ ๋ํ ๊ด์ฌ์ด ์ปค์ง๊ณ ์๋ค. ๋ค์ ๋งํด ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ผ๋ก ์๋ฒ, ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ์ ๋์์ ํ ์ ์๋ค. (์น ์๋ฒ/์น ๋ธ๋ผ์ฐ์ )
* ์๋ฐ์คํฌ๋ฆฝํธ์ ํต์ฌ ๊ฐ๋
1. ๊ฐ์ฒด
์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ์ธ ๊ฐ์ง(boolean, number, string)์ ํน๋ณํ ๊ฐ์ธ null, undefined๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด์ด๋ค. ์ฌ์ง์ด boolean, number, string์ ๊ฐ์ฒด์ฒ๋ผ ๋ค๋ฃฐ ์๋ ์๋ค.
2. ํจ์
ํจ์ ์ญ์ ๊ฐ์ฒด๋ก ์ทจ๊ธํ๋ฉฐ, ์ผ๊ธ ๊ฐ์ฒด(First class object)์ ์ํ๋ค. ์ผ๋ฐ ๊ฐ์ฒด๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ์ด ์๋ ๊ฐ์ฒด์ด๋ค.
3. ํ๋กํ ํ์
๋ชจ๋ ๊ฐ์ฒด๋ ํ๋กํ ํ์ ์ ๊ฐ์ง๋ค. ํ๋กํ ํ์ ์ด๋, ์จ๊ฒจ์ง ๋งํฌ์ด๋ค.
4. ์คํ ์ปจํ ์คํธ์ ํด๋ก์
์๋ฐ์คํฌ๋ฆฝํธ๋ ์คํ ์ปจํ ์คํธ๋ฅผ ๋ง๋ค๊ณ ๊ทธ ์์์ ์คํ์ด ์ด๋ฃจ์ด์ง๋ค. ์คํ ์ปจํ ์คํธ๊ฐ ๊ฐ๋ ์ ํจ ๋ฒ์(scope)์์ ํด๋ก์ ๋ฅผ ๊ตฌํํ ์ ์๋ค.
* ๊ฐ์ฒด์งํฅํ ํ๋ก๊ทธ๋๋ฐ๊ณผ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
์๋ฐ์คํฌ๋ฆฝํธ๋ ํด๋์ค๋ฅผ ์ง์ํ์ง ์์ง๋ง ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ๋ค.
๋ํ ์๋ฐ์คํฌ๋ฆฝํธ๋ ํจ์์ ํด๋ก์ ๋ฅผ ํ์ฉํ์ฌ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์๋ค. ๊ทธ๋ฌ๋ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ธฐ๋ ํ๋ค.
* ์๋ฐ์คํฌ๋ฆฝํธ์ ๋จ์
๋๋ฒ๊น ์ด ์ด๋ ต๋ค. ๋์จํ ํ์ ์ฒดํฌ๋ก ์ธํด ๋ฐํ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ์ก๊ธฐ๊ฐ ์ด๋ ต๋ค.
์ต์์ ๋ ๋ฒจ์ ๊ฐ์ฒด๋ค์ด ์ ์ญ ๊ฐ์ฒด ์์ ์์นํ๊ณ , ์ด๋ฅผ ํตํ ์ด๋ฆ ์ถฉ๋์ ์ํ์ด ์๋ค.
<์ธ์ฌ์ดํธ ์๋ฐ์คํฌ๋ฆฝํธ>๋ฅผ ์ฝ๊ณ ๊ณต๋ถํ์ฌ ์ ๋ฆฌํ ๊ฒ์๊ธ์ ๋๋ค.
'๐ปStudy > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ธฐ๋ณธ ํ์ ๊ณผ ํ์ค ๋ฉ์๋ / ์ฐ์ฐ์ (0) | 2021.03.09 |
---|---|
๋ฐฐ์ด (0) | 2021.03.05 |
ํ๋กํ ํ์ (0) | 2021.03.05 |
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฐ์ดํฐ ํ์ (0) | 2021.02.09 |