๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปStudy/JavaScript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐœ์š”์™€ ํ•ต์‹ฌ ๊ฐœ๋…

* ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐœ์š”์™€ ์†Œ๊ฐœ

 

 ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ดˆ์ฐฝ๊ธฐ์—๋Š” ์›น ํŽ˜์ด์ง€ ์ œ์ž‘์—์„œ ๋ณด์กฐ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์›น์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ, ์„œ๋ฒ„์—์„œ ๋‹ด๋‹นํ•˜๋˜ ์—ญํ• ๋“ค์„ ์ƒ๋‹น ๋ถ€๋ถ„ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ด๋‹นํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ  ์ด๋Ÿฌํ•œ ๋ณ€ํ™”์— ๋”ฐ๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ค‘์š”์„ฑ์ด ์ปค์ง€๊ณ  ์žˆ๋‹ค. ํŠนํžˆ Node.js์˜ ๋“ฑ์žฅ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ด ํ™œ๋ฐœํ•ด์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€ํ™”์— ๋”ฐ๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ˜„์žฌ ์„ธ๊ณ„์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋˜์—ˆ๋‹ค. ํŠนํžˆ ์›น ๊ฐœ๋ฐœ์ž๋“ค์€ jQuery๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์— ๋”์šฑ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

 => ๊ธฐ์กด์— ์ฃผ๋กœ ํด๋ผ์ด์–ธํŠธ ์–ธ์–ด๋กœ ์‚ฌ์šฉ๋˜๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์—๋„ ์ด์šฉ๋จ์œผ๋กœ์จ ๊ทธ์— ๋Œ€ํ•œ ๊ด€์‹ฌ์ด ์ปค์ง€๊ณ  ์žˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋งŒ์œผ๋กœ ์„œ๋ฒ„, ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ์„ ๋™์‹œ์— ํ•  ์ˆ˜ ์žˆ๋‹ค. (์›น ์„œ๋ฒ„/์›น ๋ธŒ๋ผ์šฐ์ €)

 

 

* ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•ต์‹ฌ ๊ฐœ๋…

 

1. ๊ฐ์ฒด

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์„ธ ๊ฐ€์ง€(boolean, number, string)์™€ ํŠน๋ณ„ํ•œ ๊ฐ’์ธ null, undefined๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ฒƒ์€ ๊ฐ์ฒด์ด๋‹ค. ์‹ฌ์ง€์–ด boolean, number, string์„ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋‹ค๋ฃฐ ์ˆ˜๋„ ์žˆ๋‹ค.

 

2. ํ•จ์ˆ˜

ํ•จ์ˆ˜ ์—ญ์‹œ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰ํ•˜๋ฉฐ, ์ผ๊ธ‰ ๊ฐ์ฒด(First class object)์— ์†ํ•œ๋‹ค. ์ผ๋ฐ˜ ๊ฐ์ฒด๋ณด๋‹ค ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๊ฐ์ฒด์ด๋‹ค.

 

3. ํ”„๋กœํ† ํƒ€์ž…

๋ชจ๋“  ๊ฐ์ฒด๋Š” ํ”„๋กœํ† ํƒ€์ž…์„ ๊ฐ€์ง„๋‹ค. ํ”„๋กœํ† ํƒ€์ž…์ด๋ž€, ์ˆจ๊ฒจ์ง„ ๋งํฌ์ด๋‹ค.

 

4. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์™€ ํด๋กœ์ €

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์—์„œ ์‹คํ–‰์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๊ฐ€ ๊ฐ–๋Š” ์œ ํšจ ๋ฒ”์œ„(scope)์—์„œ ํด๋กœ์ €๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

* ๊ฐ์ฒด์ง€ํ–ฅํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํด๋ž˜์Šค๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋˜ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ•จ์ˆ˜์™€ ํด๋กœ์ €๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๊ธฐ๋„ ํ•œ๋‹ค.

 

 

* ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋‹จ์ 

๋””๋ฒ„๊น…์ด ์–ด๋ ต๋‹ค. ๋А์Šจํ•œ ํƒ€์ž… ์ฒดํฌ๋กœ ์ธํ•ด ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์žก๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค.

์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์˜ ๊ฐ์ฒด๋“ค์ด ์ „์—ญ ๊ฐ์ฒด ์•ˆ์— ์œ„์น˜ํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•œ ์ด๋ฆ„ ์ถฉ๋Œ์˜ ์œ„ํ—˜์ด ์žˆ๋‹ค.

 


<์ธ์‚ฌ์ดํŠธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ>๋ฅผ ์ฝ๊ณ  ๊ณต๋ถ€ํ•˜์—ฌ ์ •๋ฆฌํ•œ ๊ฒŒ์‹œ๊ธ€์ž…๋‹ˆ๋‹ค.