[JavaScript&jQuery] ๊ธฐ์ดˆ ๊ฐœ๋… ์ •๋ฆฌ

2022. 3. 6. 14:54ใ†๊ฐœ๋… ์ •๋ฆฌ ์ž‘์—…์‹ค/JavaScript

728x90
๋ฐ˜์‘ํ˜•

๐Ÿง‘๐Ÿป‍๐Ÿ’ป Javascipt ๊ณต๋ถ€ ํ•„๊ธฐ

 

๐Ÿฑ GitHub : https://github.com/junyharang-FrontEnd-coding-study/javasctipt-study

 

์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ์ธ ๊ฒƒ์ด์—์š”.

๋˜ํ•œ, html์„ ํ•ธ๋“ค๋ง ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ž๋‹ˆ๋‹ค!

html <body> Tag๊ฐ€ ๋๋‚˜๋Š” ๋ถ€๋ถ„์— <script>๋ฅผ ์ž‘์„ฑ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์€๋ฐ, ๊ทธ ์ด์œ ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋žœ๋”๋ง์„ ํ•  ๋•Œ, ์ฝ”๋“œ๊ฐ€ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ฝ์„ ๊ฒƒ์ธ๋ฐ, ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ํ™”๋ฉด ๋ถ€ํ„ฐ ๋ฟŒ๋ ค์ฃผ๊ณ (html) ๋‚˜์ค‘์— script๊ฐ€ ์ด์ƒ์ด ์žˆ๋Š”์ง€ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ์ด์šฉ์ž ์ž…์žฅ์—์„œ ๋น ๋ฅด๊ฒŒ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ์ด์—์š”.

bootstrap Site : Bootstrap

Get started ํด๋ฆญ ํ•ฉ๋‹ˆ๋‹ค!

 

 

css์˜ <link> ๋ณต์‚ฌ ํ•˜๋Š” ๊ฒƒ์ด์—์š”.

 

ํ•ด๋‹น ๋‚ด์šฉ์„ <Title> Tag ๋ฐ‘์— ์ž‘์„ฑ ํ•ด ์ฃผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด์—์š”.

 

์ด์ œ ์™ธ๋ถ€ javascipt library๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด ์ฃผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด์—์š”.

์œ„์— ๋ณด์ด๋Š” <script> ๋“ค์„ ๋ชจ๋‘ ๋ณต์‚ฌํ•˜์—ฌ ์ฝ”๋“œ์— ๋„ฃ์–ด ์ฃผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด์—์š”.

 

์œ„์™€ ๊ฐ™์ด <body> ์•ˆ์— ์‹ค์ œ์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€๊ฐ€ javascipt๋ฅผ ์ž‘์„ฑํ•  <script> ์œ„์— ๋„ฃ์–ด ์ฃผ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด์—์š”.

์ด์œ ๋Š” ์œ„์— ์ ์—ˆ๋“ฏ์ด ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ถ„์„์„ ํ•  ๋•Œ, ํ•ด๋‹น library์— ๋Œ€ํ•œ ํ•ด์„์„ ๋จผ์ € ํ•  ๊ฒƒ์ด๋ฏ€๋กœ, ์†๋„ ์ €ํ•˜๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด์—์š”.

css์— ๋Œ€ํ•œ link๋ฅผ <head> ์— ๋„ฃ์–ด์ค€ ์ด์œ ๋Š” css๋Š” ํ™”๋ฉด์„ ๊พธ๋ฉฐ์ฃผ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์œ„์™€ ๊ฐ™์ด ํ•˜๋Š” ๊ฒƒ์ด์—์š”.

 

 

๋จผ์ € ํšŒ์›๊ฐ€์ž… ์ฐฝ์„ ๋งŒ๋“ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ , ์ด๋ฆ„์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ html Tag๋ฅผ ํ†ตํ•ด ์œ„์™€ ๊ฐ™์ด ๋งŒ๋“ค์–ด ์ค€ ๊ฒƒ์ด์—์š”.

 

<select> ๋ฅผ ํ†ตํ•ด ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ ๋งŒ๋“ค์–ด ์ค€ ๊ฒƒ์ด์—์š”.

JavaScript๋Š” ์ด์šฉ์ž๊ฐ€ input ๋“ฑ์— ์ž…๋ ฅํ•œ ๊ฐ’์„ ๋ฐ›์•„์˜ค๋Š” ์šฉ๋„๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ข‹์€ ๊ฒƒ์ด์—์š”.

์ฆ‰, input ๊ฐ’์„ ์–ป์–ด์˜ค๋Š” ๊ฒƒ๊ณผ ํŠน์ • Element์˜ ๋‚ด์šฉ์„ ๊ฐ์ท„๋‹ค๊ฐ€ ๋ณด์—ฌ์คฌ๋‹ค๊ฐ€ ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ต๋‹ˆ๋‹ค!

 

input ๋“ฑ์—์„œ ์ž…๋ ฅ๋œ ๊ฐ’์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋“ฑ๋ก ์ด๋ผ๋Š” button์„ ์ƒ์„ฑ ํ•ด ์ค€ ๊ฒƒ์ด์—์š”.

 

 

jquery Library Download : jQuery CDN

jQeury 3.x์— minified๋ฅผ ๋ˆŒ๋Ÿฌ ์ฃผ์„ธ์š”!

 

์œ„์˜ <script> ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ Source Code์— ๋ถ™ํ˜€๋„ฃ๊ธฐ ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด์—์š”.

 

์ด๋ ‡๊ฒŒ ์œ„์™€ ๊ฐ™์ด Library๋ฅผ URL ๋“ฑ์œผ๋กœ ๋ฐ›์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์‹ค์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋‹ค๋ฉด ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ฐ›์•„ ํŠน์ • ์œ„์น˜์— ๋„ฃ์–ด๋‘๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ๊ฒƒ์ด์—์š”. ๊ทธ ์ด์œ ๋Š” ํ•ด๋‹น URL ํ์‡„๋  ์ˆ˜๋„ ์žˆ๊ณ , Network ๋ฌธ์ œ ๋“ฑ์œผ๋กœ ์„œ๋น„์Šค๊ฐ€ ๋ถˆ๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ž๋‹ˆ๋‹ค.

 

<Button> ์— ๋Œ€ํ•œ Action ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด onclick์„ ๋งŒ๋“ค๊ณ , ๊ฑฐ๊ธฐ์— JavaScript ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„ฃ์–ด์ฃผ๋Š” ๊ฒƒ์ด์—์š”.

javascript ํ•จ์ˆ˜๋Š” funtion <ํ•จ์ˆ˜๋ช…>() { }์œผ๋กœ ๋งŒ๋“ค์–ด ์ค€ ๊ฒƒ์ด์—์š”.

 

alert์€ html์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธฐ๋ณธ ํ•จ์ˆ˜์ธ๋ฐ, ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์–ด์ฃผ๋Š” ์นœ๊ตฌ ๋ž๋‹ˆ๋‹ค!

 

์œ„์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๊ณ  ‘๋“ฑ๋ก' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฒฝ๊ณ ์ฐฝ์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—์š”.

 

document.getElementById("ID๊ฐ’") ์€ html Tag์— id ๊ฐ’์— ๋„ฃ์€ ๋ช…์นญ์„ ๊ฐ€์ง€๊ณ  ์™€์„œ ์–ด๋–ค ์ž‘์—…์„ ํ•˜๊ฒ ๋‹ค๋ผ๋Š” ์˜๋ฏธ์ธ ๊ฒƒ์ด์—์š”.

.value ๋Š” ํ•ด๋‹น Element์˜ ๊ฐ’์„ ๋ณด์—ฌ๋‹ฌ๋ž€ ์˜๋ฏธ๋ž๋‹ˆ๋‹ค!

 

์ด๋ ‡๊ฒŒ ํ•ด ๋‘๋ฉด ๊ฒฝ๊ณ ์ฐฝ์— ํ•ด๋‹น Element์˜ ID๊ฐ’์„ ๊ฐ€์ง„ ์นœ๊ตฌ์˜ ๊ฐ’์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด์—์š”.

 

์ด๋ฒˆ์—๋Š” ์œ„์™€ ๊ฐ™์ด Element์˜ ID๊ฐ€ city์ธ <Select> ์— ๊ฐ’์„ ๊ฐ€์ ธ ์˜ค๋„๋ก ํ•œ ๊ฒƒ์ด์—์š”.

๋ณด์ด๋Š” ๋‚ด์šฉ์€ ์„œ์šธ์ด์ง€๋งŒ, ๊ทธ ์•ˆ์— value๋ฅผ 02 ๋กœ ์ฃผ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ‘02’ ๊ฐ€ ์ถœ๋ ฅ ๋˜๋Š” ๊ฒƒ์ด์—์š”.

 

jQuery

jQuery๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ณต์žกํ•˜๊ณ , ๊ธธ์—ˆ๋˜ Javascritpt ๋ฌธ๋ฒ•์„ ์ข€ ๋” ๊ฐ„๊ฒฐํ•˜๊ณ , ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ์ธ ๊ฒƒ์ด์—์š”.

JQuery๋Š” Javascript๋ฅผ ํ•œ๋ฒˆ๋” ๊ฐ์‹ธ์„œ ํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋˜๋Š” ๊ฒƒ์ด์—์š”. ๋˜ํ•œ, ์˜ˆ์ „์—๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ๋งˆ๋‹ค ์ƒ์ดํ•œ ๋ฌธ๋ฒ•์„ ํ†ตํ•ด ์ฝ”๋”ฉ์„ ํ–ˆ์–ด์•ผ์ง€ ๋™์ž‘์„ ํ–ˆ์—ˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๋ถˆํŽธํ•œ ์ ์„ ๊ฐœ์„ ํ•˜์—ฌ ํ•˜๋‚˜์˜ Jquery ๋ฌธ๋ฒ•์œผ๋กœ ์—ฌ๋Ÿฌ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€ ์ฃผ๋Š” ๊ณ ๋งˆ์šด ์นœ๊ตฌ์ธ ๊ฒƒ์ด์—์š”.

๋ฌผ๋ก ! ์ตœ๊ทผ์—๋Š” Javascript์˜ ๋ฐœ์ „์œผ๋กœ ์ธํ•ด jQuery๋ฅผ ์“ฐ์ง€ ์•Š๋Š” ์ถ”์„ธ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค!

 

JQuery๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, $๋ฅผ ๋ถ™์—ฌ์ฃผ๊ณ , #์€ ID๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด์—์š”.

 

๋™์ผํ•˜๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—์š”!

 

 

๋งŒ์•ฝ์— ์ด์šฉ์ž๊ฐ€ ‘์ธ์ฒœ'์„ ์„ ํƒํ–ˆ์„ ๋•Œ๋Š” ์ธ์ฒœ์— ํ•ด๋‹นํ•˜๋Š” ์ง€์—ญ๊ตฌ๋งŒ ์ถœ๋ ฅํ•˜๊ณ , ์„œ์šธ์„ ์„ ํƒํ–ˆ์„ ๋•Œ๋Š” ์„œ์šธ์— ํ•ด๋‹นํ•˜๋Š” ์ง€์—ญ๊ตฌ๋งŒ ์ถœ๋ ฅ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

 

 

์œ„์—์„œ style ์— display:none ์œผ๋กœ ํ•ด ์ฃผ๋ฉด ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ธ ๊ฒƒ์ด์—์š”.

 

์œ„์™€ ๊ฐ™์ด ์ธ์ฒœ์— ์ง€์—ญ๊ตฌ๋Š” ๋ณด์ด์ง€ ์•Š๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์—์š”.

 

onchange Event๋Š” button์€ ํด๋ฆญ์ด๋ผ๋Š” Event๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— onclick ์ด๋ผ๋Š” Event๊ฐ€ ์žˆ์ง€๋งŒ, select๋Š” click์˜ ๊ฐœ๋…์ด ์•„๋‹ˆ๊ณ , ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๊ฐœ๋…์œผ๋กœ ๋ณด๊ธฐ ๋•Œ๋ฌธ์— onchange ๋ผ๋Š” Event๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด์—์š”.

 

๋จผ์ € ๋™๋„ค์— ํ•ด๋‹นํ•˜๋Š” ID๋ฅผ ๊ฐ€์ง„ ๋‘ <select>๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์ด์ง€ ์•Š๊ฒŒ ์„ ํƒ์„ ํ•œ ๋’ค getElementById

์— "region_"+city ๋ฅผ ํ•˜์—ฌ city๊ฐ€ ์„ ํƒ์ด ๋˜์—ˆ์„ ๋•Œ ๊ทธ ๊ฐ’์ด city๋ผ๋Š” ๋ณ€์ˆ˜์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๊ณ , ๊ทธ ๋ณ€์ˆ˜์— ๋‹ด๊ธด ๊ฐ’์ด ์„œ์šธ์ด๋ฉด ‘02’, ์ธ์ฒœ์ด๋ฉด ‘032’์ด๋‹Œ๊นŒ region_ ๋’ค์— ํ•ด๋‹น ๊ฐ’์„ ๋ถ™ํ˜€์ฃผ๊ณ , ๊ทธ๊ฒƒ์„ style.display = ""; ํ•˜๊ฒŒ ๋˜๋ฉด ๋ณด์ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์œ„์˜ javascript ๋ฌธ๋ฒ•์„ jQuery๋กœ ๋ฐ”๊พธ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒƒ์ด์—์š”.

๋ฐ˜์‘ํ˜•

 

JavaScript์˜ ๋ณ€์ˆ˜

1) var:

์œ„์™€ ๊ฐ™์ด ํ•˜๋ฉด value์— x๋ฅผ ๋„ฃ์–ด์ฃผ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์—์š”. ๊ทธ๋ฆฌ๊ณ , ๊ฒฝ๊ณ ์ฐฝ์— x๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ’์„ ๋„์–ด์ฃผ๋Š” ๊ฒƒ์ด์—์š”. x์—๋Š” ํ˜„์žฌ 3์ด ๋‹ด๊ฒจ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์–ด์š”.

 

 

์œ„์™€ ๊ฐ™์ด var์„ ํ†ตํ•ด ๋‹ค์‹œ ๋™์ผํ•œ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋‹ด์•„์ฃผ๊ฒŒ ๋˜๋ฉด Exception์ด ๋‚˜์˜ค๋˜์ง€ ์•„๋‹ˆ๋ฉด x์— 5๊ฐ€ ๋‹ด๊ฒจ์•ผ ํ•˜๋Š”๋ฐ,

 

์ด๋ ‡๊ฒŒ ๊ทธ๋Œ€๋กœ 3์ด ๋‹ด๊ฒจ ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด์—์š”. ์ฆ‰, ์ดˆ๊ธฐํ™”๊ฐ€ ๋ฐ”๋กœ ๋˜์–ด ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด์ง€์š”!

์ฆ‰, var์€ ๋™์ผํ•œ ๋ณ€์ˆ˜๋ช…์„ ์„ ์–ธํ•ด๋„ ํ—ˆ์šฉํ•ด์ฃผ๋Š” ์ž๋ฃŒํ˜•์ธ ๊ฒƒ์ด์—์š”.

 

2) let:

let์€ ๋™์ผํ•œ ๋ณ€์ˆ˜๋ช…์„ ์„ ์–ธํ•˜๊ฒŒ ๋˜๋ฉด Error๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด์—์š”.

 

๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์•„์˜ˆ ์ถœ๋ ฅ์ด ๋˜์ง€ ์•Š๊ณ , ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ๋Š” ์œ„์™€ ๊ฐ™์ด ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—์š”.

 

3) const:

const๋Š” ์œ„์™€ ๊ฐ™์ด ๋ณ€์ˆ˜๋ฅผ ์žฌํ• ๋‹น ํ•˜๋ฉด Error๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. const๋Š” ํ•œ๋ฒˆ๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์žฌ ํ• ๋‹น์ด ๋ถˆ๊ฐ€ํ•œ ์นœ๊ตฌ์ธ ๊ฒƒ์ด์—์š”. ์ƒ์ˆ˜ ๊ฐœ๋…์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ์š”?

 

 

์ž๋ฃŒํ˜• Type

// ์ˆซ์ž, ์†Œ์ˆ˜์  ์ˆซ์ž, ๋ฌธ์ž, Boolean, ๊ฐ์ฒด(Object), ๋ฐฐ์—ด ๋“ฑ
let a = 1;  // ์ˆซ์ž
a = 1.231;  // ์†Œ์ˆ˜์  ์ˆซ์ž
a = "์ฃผ๋‹ˆํ•˜๋ž‘"; // ๋ฌธ์ž ('')๋„ ๊ฐ€๋Šฅ
a = true;       // boolean

let obj = {};   // ๊ฐ์ฒด(Object)๋Š” ๋ฐ˜๋“œ์‹œ {}๋กœ ๊ฐ์‹ธ์ค˜์•ผ ํ•œ๋‹ค. (Key:Value๋กœ ์ด๋ค„์ ธ ์žˆ๋‹ค.)

 

 

๊ฐ์ฒด Type

๊ฐ์ฒด Type์€ ์–ด๋–ค Data Type (์ˆซ์ž, ๋ฌธ์ž, ๋ฐฐ์—ด, ๊ฐ์ฒด ๋“ฑ)์„ ๋ชจ๋‘ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—์š”.

 

์œ„์™€ ๊ฐ™์ด Object Type์œผ๋กœ ๊ฐ’์„ ๋ธŒ๋ผ์šฐ์ €๋‚˜ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ „๋‹ฌ ๋˜๋Š” ๊ฒƒ์ด์—์š”.

 

Javascript์—์„œ ๊ฐ์ฒด(Object)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ ๋œ ์ด์œ ๋Š” ์„œ๋ฒ„๋‚˜ ๋‹ค๋ฅธ Page์— ๊ฐ’์„ ๋ชจ์•„ ๋‹ด์•„ ๋„˜๊ฒจ์ฃผ๊ธฐ ์œ„ํ•จ์ธ ๊ฒƒ์ด์—์š”.

ํ•œ ์˜ˆ๋กœ JSON ์€ Key์™€ Value๋กœ ์ด๋ค„์ง„ ๊ฐ์ฒด์ธ๋ฐ, ์ด์™€ ๊ฐ™์ด Server๋กœ Data๋ฅผ ๋ณด๋‚ผ ๋•Œ ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณด๋‚ด์ง€ ์•Š๊ณ , ๋ชจ์•„์„œ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด์—์š”.

 

์œ„์™€ ๊ฐ™์ด ๊ฐ์ฒด๋ฅผ ํ•จ์ˆ˜์—๋‹ค๊ฐ€ ์ „๋‹ฌ์„ ํ•˜๋ฉด ๊ทธ ์•ˆ์— ์žˆ๋Š” ๊ฐ’์ด ๋‹ค ์ „๋‹ฌ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—์š”.

Javascript์—์„œ๋Š” ์ฒ˜์Œ์— Object์— ๊ฐ’์„ ๋ฌด์กฐ๊ฑด ์ฒ˜์Œ(์„ ์–ธํ•˜๋Š” ์‹œ์ )๋ถ€ํ„ฐ ์žก์•„๋‘์ง€ ์•Š์•„๋„ ๋˜๋Š” ์žฅ์ ์ด ์žˆ์–ด์š”.

let objTest = {};  // objTest ๋

objTest.name = $("#name").val();        // objTest์˜ name์ด๋ผ๋Š” Key๋กœ ์ ‘๊ทผ
objTest.city = $("#city").val();        // objTest์˜ city๋ผ๋Š” Key๋กœ ์ ‘๊ทผ

์œ„์™€ ๊ฐ™์ด ์‚ฌ์šฉ๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด๋ ‡๊ฒŒ ํ•˜๊ฒŒ ๋˜๋ฉด objTest.name๋ฅผ ํ•  ๋•Œ Key๊ฐ€ name์œผ๋กœ ์žกํžˆ๊ณ , ๊ทธ ์•ˆ์— ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์—์š”.

 

 

๋ฐฐ์—ด(Array)

๋ฐฐ์—ด์€ ์–ด๋–ค Data Type (์ˆซ์ž, ๋ฌธ์ž, ๋ฐฐ์—ด, ๊ฐ์ฒด ๋“ฑ)์„ ๋ชจ๋‘ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—์š”.

 

๋ฐ˜๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ

1) ๋ฐ˜๋ณต๋ฌธ : ์ž๋ฐ”์™€ ๋ฌธ๋ฒ•์ด ๋˜‘๊ฐ™์€ ๊ฒƒ์ด์—์š”. ๋ช‡ ๋ฒˆ์งธ ๋ถ€ํ„ฐ let i = 0; ๋ช‡ ๋ฒˆ์งธ ๊นŒ์ง€ i < city.length; ์ฆ๊ฐ€ ์กฐ๊ฑด๋ฌธ i++

2) ์กฐ๊ฑด๋ฌธ : ์ž๋ฐ”์™€ ๋ฌธ๋ฒ•์ด ๋˜‘๊ฐ™์€ ๊ฒƒ์ด์—์š”.

์œ„์˜ ์กฐ๊ฑด๋ฌธ์„ ํ’€์–ด ์“ฐ์ž๋ฉด i๊ฐ€ 0๊ณผ ๊ฐ™๋‹ค๋ฉด if ๋ฌธ์— ๋“ค์–ด๊ฐ€๋Š”๋ฐ, city๋ผ๋Š” Id๊ฐ’์„ ๊ฐ€์ง„ ๋ฐฐ์—ด์— ์ถ”๊ฐ€๋ฅผ ํ•œ๋‹ค. ๋ฌด์—‡์„?

<option value="' + city[i].code + '" selected>' + city[i].name + '</option>');

์œ„์˜ city[i].code ๋ฅผ ๋ถ„์„ํ•ด ๋ณด๋ฉด city๋ผ๋Š” ์ด๋ฆ„์˜ i๋ฒˆ์งธ ํ˜„์žฌ๋Š” 0๋ฒˆ์งธ๋ผ๊ณ  ํ•˜๋ฉด ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’์ธ code:02, name: ์„œ์šธ ์ธ ๋‚ด์šฉ์ด๊ณ , ์—ฌ๊ธฐ์˜ .code ๋Š” ‘02’๊ฐ€ ๋˜๋Š”๋ฐ, ์ด๊ฒƒ์„ ์„ ํƒํ•˜๋ผ๋Š” ๊ฒƒ์ด๊ณ , ๊ทธ ๋‹ค์Œ ๋‚ด์šฉ์€ ์ด๋ฆ„ (์„œ์šธ)์„ select Box ์—์„œ ์„ ํƒ๋˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด์—์š”.

 

์œ„์™€ ๊ฐ™์ด ์ž๋ฐ” ์กฐ๊ฑด๋ฌธ๊ณผ ๋˜‘๊ฐ™์ด else if๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—์š”.

 

 

์ฐธ๊ณ  ์ž๋ฃŒ: https://www.youtube.com/watch?v=hLhHFiwhRfA&t=1750s

728x90
๋ฐ˜์‘ํ˜•