๐Ÿ–ฅ๏ธ Frontend_

[Frontend] Java Script & jQuery Library

CodeLoge 2025. 2. 23. 15:51

Chapter #5 ๋™์ž‘์„ ์ฒ˜๋ฆฌํ•˜๋Š” Java Script & ์ œ์ด์ฟผ๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Section 1. Java Script ๊ฐœ์š”

โœด๏ธŽ Java Script๋ž€?

: ๋„ท์Šค์ผ€์ดํ”„์‚ฌ์—์„œ ์›น ํŽ˜์ด์ง€์˜ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ๋ชฉ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ LiveScript ๊ธฐ๋ฐ˜

: ๋„ท์Šค์ผ€์ดํ”„์‚ฌ์™€ ์„ ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ๊ฐ€ ๊ณต๋™์œผ๋กœ ๊ฐœ๋ฐœํ•œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด

: ์—ฐ์‚ฌ์ž์™€ ์ œ์–ด๋ฌธ์€ C/C++๊ณผ ์œ ์‚ฌ, ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์ƒ์† ๋ฐฉ์‹์€ ํ”„๋กœํ† ํƒ€์ž… (Prototype) ๊ธฐ๋ฐ˜

• ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜(Prototype-based)

: ๊ฐ์ฒด์ง€ํ–ฅ์˜ ํ•œ ํ˜•ํƒœ, ํด๋ž˜์Šค๊ฐ€ ์—†์ด ๊ฐ์ฒด์˜ ํ”„๋กœํ† ํƒ€์ž…์„ ๋ณต์ œํ•ด์„œ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ƒ์†

• ์›น์ƒ์—์„œ HTML์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, HTML ํƒœ๊ทธ์— ์–ด๋–ค ๋™์ž‘์„ ๋ถ€์—ฌํ•ด์„œ ์ž‘์—…์„ ์ฒ˜๋ฆฌ

โœด๏ธŽ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

: JS๋ฅผ ๊ธฐ์ˆ  ๋ฐ ์‚ฌ์šฉํ•  ๋•Œ๋Š” <script> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•จ

: HTML ํŽ˜์ด์ง€ ๋‚ด๋ถ€์— ํฌํ•จํ•ด์„œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ์ž‘์„ฑ ํ›„ ํ•„์š”ํ•œ ํŽ˜์ด์ง€์—์„œ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ์Œ

: ์žฌ์‚ฌ์šฉ์„ฑ์„ ์œ„ํ•ด ์™ธ๋ถ€ ํŒŒ์ผ๋กœ ์ €์žฅํ•œ ํ›„ ํ•„์š”ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ

: ์ผ์ข…์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฐ™์€ ์—ญํ• 

 

→ HTML ํŽ˜์ด์ง€ ๋‚ด๋ถ€์— ํฌํ•จํ•ด์„œ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

<script>
	// ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๊ธฐ์ˆ 
</script>

 

→ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ์ž‘์„ฑ ํ›„ ํ•„์š”ํ•œ ํŽ˜์ด์ง€์—์„œ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๋ฐฉ๋ฒ•

<script src = "๊ฒฝ๋กœ๋ฅผ ํฌํ•จํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธํŒŒ์ผ๋ช…"></script>

 

โœด๏ธŽ ๋ฌธ์žฅ ๊ตฌ์กฐ

• ์œ ๋‹ˆ์ฝ”๋“œ(Unicode) ๊ธฐ๋ฐ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

• ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„

• ๋ฌธ์žฅ์˜ ๋์€ ์„ธ๋ฏธ์ฝœ๋ก (;)์œผ๋กœ ๊ตฌ๋ถ„

• ์ž๋ฐ”, C๊ณ„์—ด์˜ ์ฃผ์„์ธ //, /**/๋ฅผ ์‚ฌ์šฉ

• ์ž๋ฐ”์˜ ๋ฆฌํ„ฐ๋Ÿด(๋ฐ์ดํ„ฐ์˜ ๊ฐ’)

: ๋ฆฌํ„ฐํ„ธ = ๊ฐ’์„ ์˜๋ฏธ, ์ˆซ์ž ํƒ€์ž…์€ ๊ทธ๋ƒฅ ๊ธฐ์ˆ , ๋ฌธ์ž์—ด ํƒ€์ž…์€ ํฐ๋”ฐ์˜ดํ‘œ("")๋กœ ํ‘œํ˜„

: boolean, character, ํ•จ์ˆ˜, ๊ฐ์ฒด, ๋ฐฐ์—ด ๊ฐ’๋„ ๋ฆฌํ„ฐ๋Ÿด๋กœ ์ทจ๊ธ‰

• ์‹๋ณ„์ž ๊ทœ์น™

: ์ฒซ๊ธ€์ž๋Š” ์˜๋ฌธ์ž, _, $ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ๋‚˜๋จธ์ง€ ๊ธ€์ž๋Š” ์ˆซ์ž๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

• ๋ณ€์ˆ˜ ์„ ์–ธ

: var ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉ

var ๋ณ€์ˆ˜๋ช… = ๋ฆฌํ„ฐ๋Ÿด;

 

• ํ‚ค์›Œ๋“œ

: ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง

: ํ•ด๋‹น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ํŠน๋ณ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ชฉ์  ์™ธ์˜ ๊ฒƒ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

if = 5; ์™€ ๊ฐ™์ด ๋ณ€์ˆ˜๋ช…์œผ๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€

 

โœด๏ธŽ ๋ฐ์ดํ„ฐ ํƒ€์ž…

: ๋ฐ์ดํ„ฐ ํƒ€์ž…์—๋Š” ์ˆซ์ž, ๋ฌธ์ž, ๋ถ€์šธ, ๊ฐ์ฒด, undefined, null, empty ๋“ฑ์ด ์žˆ์Œ

: ๊ธฐ๋ณธ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๊ฐ์ฒด ํƒ€์ž…์œผ๋กœ ๋‚˜๋‰จ

• ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…

โ‘  ์ˆซ์ž : ์‚ฐ์ˆ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ 0~9, ๋ถ€ํ˜ธ, ์†Œ์ˆ˜์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง

โ‘ก ๋ฌธ์ž์—ด : ์ˆซ์ž, ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ, " ๋˜๋Š” ' ๋กœ ๋‘˜๋Ÿฌ์‹ธ์„œ ํ‘œํ˜„

โ‘ข boolean : true ๋˜๋Š” false ๊ฐ’์„ ์ฐพ๋Š” ํƒ€์ž… ํ‘œํ˜„์— ์‚ฌ์šฉ

 ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ํƒ€์ž… : ๊ฐ์ฒด ํƒ€์ž…

: ๊ฐ์ฒด ๋ฐ ๋ฐฐ์—ด, ํ•จ์ˆ˜, ์ •๊ทœ ํ‘œํ˜„์‹๋„ ๊ฐ์ฒด ํƒ€์ž…์œผ๋กœ ์ทจ๊ธ‰

โ‘  ๊ฐ์ฒด {} : {} ์•ˆ์— property, method ๋“ฑ์„ ๊ธฐ์ˆ , ์‰ผํ‘œ(,)๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‚˜์—ด

var ๊ฐ์ฒด๋ณ€์ˆ˜๋ช… = {ํ”„๋กœํผํ‹ฐ, ๋ฉ”์†Œ๋“œ};

 

โ‘ก ๋ฐฐ์—ด [] : [] ์•ˆ์— ๋ฐฐ์—ด์˜ ์›์†Œ๋ฅผ ์‰ผํ‘œ(,)๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‚˜์—ด

var ๋ฐฐ์—ด๋ณ€์ˆ˜๋ช… : [์›์†Œ1, ์›์†Œ2, ...];

 

โ‘ข ํ•จ์ˆ˜ : function(){}

: ์ต๋ช… ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ๋„ฃ์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด์„ ๊ถŒ์žฅ

: ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ณณ์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋ ค๋ฉด return ๊ฐ’; ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๊ธฐ์ˆ 

• ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ๋ฒ•

: ๋ณ€์ˆ˜๋Š” ๊ฐ’ ์ €์žฅ์†Œ๋กœ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ•„์š”ํ•œ ๊ฐ’์„ ์ผ์‹œ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ

 

โœด๏ธŽ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ถŒ๊ณ ์‚ฌํ•ญ

• ์ „์—ญ๋ณ€์ˆ˜๋Š” ๊ฐ€๊ธ‰์  ์‚ฌ์šฉ์„ ์ž์ œ

• ์ง€์—ญ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉ์‹œ ์„ ์–ธํ•˜๊ณ  ์‚ฌ์šฉ

• ์ฐธ์กฐ๋Œ€์ƒ์€ ๋จผ์ € ์„ ์–ธํ•˜๊ณ  ์‚ฌ์šฉ

• ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉ ์ „์— ์ดˆ๊ธฐํ™”

• ์ˆซ์ž, ๋ฌธ์ž, boolean ๊ฐ’์€ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ์“ฐ์ง€ ์•Š์Œ

• ๋ฌธ์ž์—ด, ๊ฐ์ฒด, ๋ฐฐ์—ด, ํ•จ์ˆ˜ ์ƒ์„ฑ์‹œ new ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑํ•˜์ง€ ์•Š์Œ

• ์ž๋™ ํ˜•๋ณ€ํ™˜์— ์ฃผ์˜

 

Section 2. ์ œ์–ด๋ฌธ

: ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์ œ์–ดํ•˜๋Š” ์ œ์–ด๋ฌธ์—๋Š” ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, ๊ธฐํƒ€ ์ œ์–ด๋ฌธ์ด ์žˆ์Œ

• ์กฐ๊ฑด๋ฌธ : ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ˆœ์„œ ์ œ์–ด

→ if๋ฌธ, switch๋ฌธ : switch๋ฌธ์€ ์š”์ฆ˜ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ

• ๋ฐ˜๋ณต๋ฌธ : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์ œ์–ด

→ for๋ฌธ, while๋ฌธ, do-while๋ฌธ

๊ธฐํƒ€ ์ œ์–ด๋ฌธ : ๊ทธ ๋ฐ–์˜ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ˆœ์„œ ์ œ์–ด

→ break๋ฌธ, continue๋ฌธ : ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœ ๋˜๋Š” ์ผ์‹œ ํƒˆ์ถœ

→ with๋ฌธ : ๊ฐ์ฒด ์ƒ๋žต

→ try-catch-finally๋ฌธ : ์˜ˆ์™ธ์ฒ˜๋ฆฌ

 

โœด๏ธŽ ์กฐ๊ฑด๋ฌธ

• if๋ฌธ

: ์ฃผ์–ด์ง„ ๊ฐ’์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ 2๊ฐœ๋กœ ๋ถ„๊ธฐ ์‹œ ์‚ฌ์šฉ, ์กฐ๊ฑด๊ณผ ๊ฒฐ๊ณผ๋กœ ๊ตฌ์„ฑ

• ๊ธฐ๋ณธ if๋ฌธ

: ์ฃผ์–ด์ง„ ๊ฐ’์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ 2๊ฐœ๋กœ ๋ถ„๊ธฐ๋  ๋•Œ ์‚ฌ์šฉ

: ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ์™€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์„ ๋•Œ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ–์Œ

• ๋‹ค์ค‘ if๋ฌธ

: ์ฃผ์–ด์ง„ ๊ฐ’์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ 3๊ฐœ ์ด์ƒ์œผ๋กœ ๋ถ„๊ธฐ์ผ ๋•Œ ์‚ฌ์šฉ

• switch๋ฌธ

: ํ‘œํ˜„์‹์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ถ„๊ธฐ๋˜๋Š” ์ œ์–ด๋ฌธ

: ๋‹ค์ค‘ if๋ฌธ์„ ๋Œ€์ฒดํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ

: ํ‘œํ˜„์‹์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ •์ˆ˜๋งŒ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ

• ์กฐ๊ฑด ์—ฐ์‚ฐ์ž

: ๊ฐ„๋‹จํ•œ ์กฐ๊ฑด๋ฌธ ๊ตฌํ˜„์— ์‚ฌ์šฉ

: ? : ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉ

// ๋ฌธ๋ฒ•
(์กฐ๊ฑด) ? ์ฐธ : ๊ฑฐ์ง“ ;

 

โœด๏ธŽ ๋ฐ˜๋ณต๋ฌธ

: ๋ฐ˜๋ณต ์ž‘์—… ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ, ์—ฌ๋Ÿฌ ๊ฑด์˜ ์ž‘์—…์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ

: ์นด์šดํ„ฐ ๋ณ€์ˆ˜๋Š” ๋ฐ˜๋ณต๋ฌธ์˜ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

• for๋ฌธ → ํšŸ์ˆ˜ ๋ฐ˜๋ณต

: ์ง€์ •๋œ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ

• for-in๋ฌธ

: ๊ฐ์ฒด ๋‚ด์˜ ํ”„๋กœํผํ‹ฐ ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ

• for-of๋ฌธ → ๊ฐ์ฒด ๋ฐ˜๋ณต

: ๊ฐ์ฒด ๋‚ด์˜ ๊ฐ์ฒด๋ฅผ ๋ฐ˜๋ณตํ•  ๋•Œ ์‚ฌ์šฉ → ์ปฌ๋ ‰์…˜์„ ๋ฐ˜๋ณต

: ์ปฌ๋ ‰์…˜ → ๊ฐ์ฒด๊ฐ€ ๊ฐ์ฒด์˜ ๊ฐ’์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๊ฐ–๋Š” ๊ฒƒ

// ๋ฌธ๋ฒ•

for(let ๋ณ€์ˆ˜ of ์ปฌ๋ ‰์…˜){
	// ์ฒ˜๋ฆฌํ•  ๋ฌธ์žฅ
}
for-of๋ฌธ : ์ปฌ๋ ‰์…˜ ๋‚ด์˜ ๊ฐ์ฒด์˜ ๋ฐ˜๋ณต
let๋ฌธ : ๊ฐ์ฒด์ €์žฅ ๋ณ€์ˆ˜์— ๊ฐ’ ํ• ๋‹น

 

• while๋ฌธ

: ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋™์•ˆ ๋ฐ˜๋ณต์ˆ˜ํ–‰ํ•˜๋Š” ์ œ์–ด๋ฌธ, for๋ณด๋‹ค ์ˆ˜ํ–‰์†๋„๊ฐ€ ๋А๋ฆผ

: ๊ฐ์ฒด๋ฐ˜๋ณต์„ ์ฃผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ

• do-while๋ฌธ

: ์ผ๋‹จ 1๋ฒˆ ์‹คํ–‰ ํ›„ ์กฐ๊ฑด๋น„๊ต ๋ฐ˜๋ณต์„ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ œ์–ด๋ฌธ

: ๋ฐ˜๋“œ์‹œ 1๋ฒˆ ์ˆ˜ํ–‰ ํ›„ ์กฐ๊ฑด์„ ๋น„๊ต

: ํŠน์ˆ˜ํ•œ ์ƒํ™ฉ์—์„œ๋งŒ ์‚ฌ์šฉ

 

โœด๏ธŽ ๊ธฐํƒ€ ์ œ์–ด๋ฌธ

• break๋ฌธ → ๋ฐ˜๋ณต๋ฌธ ์™„์ „ ํƒˆ์ถœ

: ํŠน์ • ์กฐ๊ฑด ๋งŒ์กฑ์‹œ while๋ฌธ ์•ˆ์—์„œ ๋ฌดํ•œ๋ฃจํ”„ ๋˜๋Š” for๋ฌธ์„ ์‚ฌ์šฉํ•œ ๋ฐ˜๋ณต๋ฌธ ์ค‘๋‹จ์‹œ ์‚ฌ์šฉ

while(true){ // ๋ฌดํ•œ๋ฃจํ”„
	if(์กฐ๊ฑด){
    	break;
    }
}

 

• continue๋ฌธ

: ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œ ๋ฐ˜๋ณต๋ฌธ์„ ์ผ์‹œ์ ์œผ๋กœ ํƒˆ์ถœํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ๋ฐ˜๋ณต๋ฌธ ์ˆ˜ํ–‰